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}입니다. 다시 도전하세요.')

 

 

+ Recent posts