오늘의 과제
#메모리에 회원 아이디와 패스워드를 미리 준비해놓고 키보드에서 입력 받아 로그인
#Dictionary에 아이디와 패스워드를 기록할 때는 영문 대문자를 사용하되 사용자가 로그인할 때는 대소문자를 가리지 않아도 문제가 발생하지 않도록 조치
info = {
'way'.upper(): 'faith123'.upper(),
'truth'.upper(): 'sight456'.upper(),
'life'.upper(): 'living789'.upper()
}
print('*****로그인*****')
uid = input('아이디: ').upper()
pwd = input('비밀번호: ').upper()
login = False
if uid in info.keys():
if info.get(uid) == pwd:
login = True
else:
print('비밀번호가 일치하지 않습니다.')
else:
print('아이디가 일치하지 않습니다.')
msg = f'{uid}님, 환영합니다.' if login else '프로그램을 종료합니다.' # Ternary Operator: 3항 연산자
print(msg)
3항 연산자(Ternary Operator)
'True Value' if 'condition' else 'False Value'
가운데 적힌 조건에 따라 True라면 if 앞의 값(True Value)이 리턴되고, False라면 else 뒤의 값(False Value)이 리턴된다.
위의 로그인 코드에 적용해 보면, login이 True라면 f'{uid}님, 환영합니다.' False라면 '프로그램을 종료합니다.'
f'{uid}님, 환영합니다.' if login else '프로그램을 종료합니다.'
실행 결과
*****로그인*****
아이디: way
비밀번호: faith123
WAY님, 환영합니다.
*****로그인*****
아이디: what
비밀번호: faith123
아이디가 일치하지 않습니다.
프로그램을 종료합니다.
*****로그인*****
아이디: life
비밀번호: living456
비밀번호가 일치하지 않습니다.
프로그램을 종료합니다.
'Python Basic' 카테고리의 다른 글
Dictionary(딕셔너리)로 전화번호부 CRUD: while Loop(반복문), - Python(파이썬) (0) | 2020.12.09 |
---|---|
Dictionary(딕셔너리) 생성, 추가, 수정, 삭제 - Python(파이썬) (0) | 2020.12.09 |
Boolean 값(True/False)을 리턴하는 in ~, not in ~ - Python(파이썬) (0) | 2020.12.09 |
List to Tuple(리스트를 튜플로), Tuple to List(튜플을 리스트로): list(), tuple() - Python(파이썬) (0) | 2020.12.09 |
List Comprehension: 리스트 안에서 for loop 돌리기 - Python(파이썬) (0) | 2020.12.03 |