출처 : 반크_세계유산 창덕궁
문제]
10~99사이의 수를 무작위로 발생하여 더하기 문제를 출력하는 게임을 프로그램으로 작성하시오.
조건)
▶ 5문제를 맞추면 계속여부를 확인하시오.
▶ 계속여부는 Y/y/N/n만 체크되도록 하시오.
▶ 게임을 종료하면 그때까지 출력한 총 문제와 맞춘 개수를 출력하시오.
▶ 그외 출력 예를 참조하시오.
출력 예)
64 + 81 = 135
아끼비! 집중 화이팅!!
90 + 90 = 180
짝짝짝! 정답입니다.
37 + 46 = 83
짝짝짝! 정답입니다.
54 + 18 = 72
짝짝짝! 정답입니다.
48 + 46 = 94
짝짝짝! 정답입니다.
99 + 71 = 170
짝짝짝! 정답입니다.
계속하시겠습니까?(Y/N) o
Y/y/N/n만 입력하세요.
다시 입력하세요...
계속하시겠습니까?(Y/N) n
총 6문제 중 5개를 맞추었습니다.
수고하셨습니다.
참고풀이]
import random
tot=0 #총 발생된 문제의 수 세는 변수. 초기는 0으로 셋팅한다.
cnt=0 #맞춘 개수를 세는 변수. 초기는 0으로 셋팅한다.
while True:
#10~99사이의 임의의 정수를 발생한다.
x=random.randint(10,99)
y=random.randint(10,99)
tot+=1
#발생된 수로 더하기 문제를 내어 결과값을 입력하도록 한다.
xy=int(input(str(x)+" + "+str(y)+" = "))
#게임어가 입력한 값이 맞는 지 체크한다.
if xy==x+y:
cnt+=1
print("짝짝짝! 정답입니다.")
else:
print("아까비! 집중 화이팅!!")
#맞춘 개수가 5의 배수이면 게임 계속여부를 체크한다.
ch='y'
if cnt>0 and cnt%5==0:
while True:
ch=input("\n계속하시겠습니까?(Y/N) ")
if ch.upper()=='Y' or ch.upper()=='N':
break
print("Y/y/N/n만 입력하세요.")
print("다시 입력하세요...")
if ch.upper()=='N':
break
print()
print(f"\n총 {tot}문제 중 {cnt}개를 맞추었습니다.")
print("수고하셨습니다.")
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 가을
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 88제] 어파처! p170 도전문제 (2) | 2022.09.19 |
---|---|
Python 87제] 난이도 있는 더하기 문제, 게임으로 공부하기 ver2. (0) | 2022.09.10 |
Python 85제] 어파처 p169 응용문제 (0) | 2022.08.26 |
Python 84제] 어파처 p169 도전문제 (0) | 2022.08.26 |
Python 83] 어파처 p168 응용문제 (0) | 2022.08.19 |
댓글