입력받은 변수가 한 번 더 나옵니다.
조회수 677회
a=(10, '홍')
b=(11, '임')
c=(12, '한')
dic = dict((a, b, c))
print('학생 정보:', dic)
while True:
x=int(input('학번 입력:'))
if x < 0:
print('프로그램 종료')
break
elif x in dic:
print(x, '번 학생은',dic[x])
x=int(input('학번 입력:'))
else:
print('해당 학번의 학생 없음')
x=int(input('학번 입력:'))
이렇게 코드를 입력하면 아래처럼 나옵니다. 자꾸 한 번 입력을 해야 원래 생각했던대로 나옵니다. 어디가 문제일까요?
<결과>
학생 정보: {191101: '홍길동', 191102: '임꺽정', 191103: '장길산'}
학번을 입력하세요 : 191101
191101 번 학생은 홍길동 입니다.
학번을 입력하세요 : 10
학번을 입력하세요 : 10
해당 학번의 학생이 없습니다.
학번을 입력하세요 : -1
학번을 입력하세요 : -1
프로그램을 종료합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
WHILE 루프문이기 때문에 BREAK 되지 않는 한 계속 X 값을 입력받습니다. 그렇다면 ELIF나 ELSE에서 추가로 X를 입력받을 이유가 없습니다.
a=(10, '홍') b=(11, '임') c=(12, '한') dic = dict((a, b, c)) print('학생 정보:', dic) while True: x=int(input('학번 입력:')) if x < 0: print('프로그램 종료') break elif x in dic: print(x, '번 학생은',dic[x]) #x=int(input('학번 입력:')) else: print('해당 학번의 학생 없음') #x=int(input('학번 입력:'))
댓글 입력