1. 미완성
import random
# 여기에 코드를 작성하세요
random_num = random.randint(1, 20)
for i in range(4):
guess = int(input(f'기회가 {4-i}번 남았습니다. 1-20 사이의 숫자를 맞혀 보세요:'))
if guess != random_num:
continue
print(f'축하합니다. {4-i}번만에 숫자를 맞히셧습니다.')
모범 답안
import random
# 상수 정의
ANSWER = random.randint(1, 20)
NUM_TRIES = 4
# 변수 정의
guess = -1
tries = 0
while guess != ANSWER and tries < NUM_TRIES:
guess = int(input("기회가 {}번 남았습니다. 1-20 사이의 숫자를 맞혀보세요: ".format(NUM_TRIES - tries)))
tries += 1
if ANSWER > guess:
print("Up")
elif ANSWER < guess:
print("Down")
if guess == ANSWER:
print("축하합니다. {}번 만에 숫자를 맞히셨습니다.".format(tries))
else:
print("아쉽습니다. 정답은 {}입니다.".format(ANSWER))
3. 오류 예외 처리
다음은 try문에 else절을 사용한 간단한 예제
try:
age=int(input('나이를 입력하세요: '))
except:
print('입력이 정확하지 않습니다.')
else:
if age <= 18:
print('미성년자는 출입금지입니다.')
else:
print('환영합니다.')
만약 '나이를 입력하세요:' 라는 질문에 숫자가 아닌 다른 값을 입력하면 오류가 발생하여 '입력이 정확하지 않습니다.'라는 문장을 출력. 오류가 없을 경우에만 else절이 수행
4. break 활용
import random
correct = random.randint(1, 20)
cnt = 4
while cnt > 0:
number = int(input(f'기회가 {cnt}번 남았습니다. 1-20 사이의 숫자를 맞혀보세요.'))
if number == correct:
print(f'축하합니다. {5-cnt}번 만에 숫자를 맞히셨습니다.')
break
elif number < correct and 1 <= number <=20:
print('up')
cnt -= 1
elif number > correct and 1 <= number <=20:
print('down')
cnt -= 1
else:
print('올바르지 않은 값입니다.1-20 사이의 정수를 입력하세요.')
if cnt == 0:
print(f'아쉽군요. 정답은 {correct}입니다. 다시 도전하세요.')
'자동제어 > Python for robotics' 카테고리의 다른 글
단어장 만들기(with open(), input(), break, .write()), 단어 퀴즈, 랜덤퀴즈 (0) | 2023.02.19 |
---|---|
평균매출구하기(파일열기 모듈, strip, split 함수) (0) | 2023.02.19 |
datetime 모듈 (1) | 2023.02.19 |
random 모듈 (0) | 2023.02.19 |
palindrom test (0) | 2023.02.19 |