과제 해설정리
import random 랜덤 동작 생성
best = 1e9 최고기록
while True: 반복(무한루프)생성
answer = random.randint(1, 100) 1~100까지 숫자를 answer에 담도록 설정
print(answer)
count = 0 시도횟수
if best != 1e9:
print('이전 최고기록 :', best, '번 입니다.')
while True: ------------------ 조건이 참인 경우에 반복(무한루프)문 생성
user_pick = int(input('1부터 100 사이의 숫자를 입력하세요: ')) 유
if user_pick < 1 or user_pick > 100: ----유저 픽이 1보다 작거나 100보다 크면
print('1부터 100 사이의 숫자를 입력하세요.') 1~100사이 숫자를 입력하도록 함
continue 반복문으로 다시진입(1~100사이 숫자를 다시입력하도록 재생성)
count = count + 1 ------------- 시도가 될때마다 카운트 1씩 증가
if user_pick < answer: ------------- 유저 픽이 생성된 숫자보다 작으면 업
print('UP')
elif user_pick > answer: ------------ 유저 픽이 생성된 숫자보다 크면 다운
print('DOWN')
else:
print('정답입니다.') ---------- 위 두 조건에 해당하지 않으면 정답입니다!
print(count, '번 만에 맞추셨습니다.')
best = min(best, count) ------- 최소 시도 횟수 출력★
break ------- 정답을 맞췄다면 반복 정지
while True: ★구현못한부분★ ------ 재시도에 반복을 따로 설정하지 않아
retry = input('다시하시겠습니까? (Y/N)') 브레이크 된 뒤 재시작 하겠다는 명령어 입력시
retry = retry.lower() 재시작 하지 않았음
if retry in ['y', 'yes', 'ok'] or retry in ['n', 'no']: -----소문자로 입력해도
break retry나 break를 인식할 수 있도록 설정
else:
print('Y 또는 N을 입력하세요.')
if retry in ['y', 'yes', 'ok']:
continue y를 선택했을 경우 게임 재시도
elif retry in ['n', 'no']:
break n를 선택했을 경우 반복 정지
print('게임을 종료합니다. 최고기록: ', best)
break문 - while문을 바로 탈출함.
continue - 아래 과정을 무시하며 반복문으로 다시 돌아감.
오늘 이해한 부분이 이렇다.
과제 시도중 retry 부분이 구현되지 않아 계속 수정하였는데 구현되지 않았던건 retry에 대한 반복 조건이 없었기 때문에
y를 시도하더라도 재 실행이 되지 않았다. 아직 많이 부족함을 알게된 과제였다.
'Daily note' 카테고리의 다른 글
Today I Learned(TIL)-9 (0) | 2024.07.05 |
---|---|
Today I Learned(TIL)-8 (0) | 2024.07.04 |
Today I Learned(TIL)-6 (1) | 2024.07.02 |
Today I Learned(TIL)-5 (0) | 2024.07.01 |
Today I Learned(TIL)-4 (0) | 2024.06.28 |