본문 바로가기
프로그램

[피이썬] 문제 : n명의 사용자 가입년수 딕셔너리에 추가하고 등급 출력

by 오디세이99 2022. 12. 1.
728x90
반응형

(문제)

n명의 사용자에 대해 이름을 key, 가입년수를 value로 하는 딕셔너리를 생성한다.
사용자 정보를 확인할 횟수 a를 입력받고 이름을 입력받아 가입년수를 확인하고 다음과 같은 기준에 따라 등급을 출력한다. 
사용자가 아닌 경우 딕셔너리에 고객을 새로 추가한다.
 
[등급기준]
가입년수 20년 이상 : VVIP
가입년수 10년 이상 : VIP
가입년수 5년 이상 : Gold
가입년수 5년 미만 : Silver
 
 
[입출력 예시 1]
3
Kim
30
Park
22
Jung
3
2
Park
VVIP   ->출력
Jung
Silver  ->출력
 
 
 
[입출력 예시 2]
1
Lee
8
3
Kim
Input User information   ->출력
23
Create User Success!   ->출력
Kim
VVIP   ->출력
Lee
Gold   ->출력

 

 

(방법)

dict = {} # 딕셔너리 
n = int(input()) # n명의 사용자 n 입력 받음 
for i in range(n): # n 만큼 반복 
    key = input() # key로 사용할 이름 입력 받음 
    yy = int(input()) # 가입년수 입력 받음 
    dict[key] = yy # 딕셔너리에 이름과 가입년수를 추가

info_n = int(input()) # 정보확인 횟수를 입력 받음 
for i in range(info_n): # 횟수만큼 반복 
    info_name = input() # 정보확인 이름(Key)를 입력 받음 
    if info_name in dict:        # 이름이 딕셔너리에 있는지 확인. 있으면
        info_yy = dict[info_name] # 딕셔너리에서 Key로 값(가입년수)를 찾음 

        grade = ''                 # 찾은 등급 기록 변수
        if info_yy >= 20:          # 가입년수가 20년 이상이면
            grade = 'VVIP'
        elif info_yy < 20 and info_yy >= 10:
            grade = 'VIP'
        elif info_yy < 10 and info_yy >= 5:
            grade = 'Gold'
        else:
            grade = 'Silver'

        print(grade)                # 출력        
    else:                           # 딕셔너리에 이름이 없으면 추가
        print('Input User information') 
        yy = int(input()) # 가입년수 입력 받음 
        dict[info_name] = yy
        info_yy = yy
        print('Create User Success!')

728x90
반응형

댓글