-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
마지막 숫자 입력하는 문제
22.02.21 14:15 작성 조회수 166
0
선생님이 작성해주신 코드는 y를 입렸했을때는
계속 게임을 다시 진행한다고 하시는데..
y를 누르지 않고 다른버튼을 눌러도 게임을 지속하게 됩니다.
사실 코드상 "y" or "n" 이 아닐경우에는 다시 입력하라는 코드를 작성해야하는데 이때 else 구문을 넣어서 코딩을 해야할 것 같은데 그럴 경우..좀 헷갈리네요 ㅠㅠ
잘못된 문자를 작성했다고 바로 while문 초기로 올라가버려서..
* 선생님코드
# 중첩 if 문이 들어가서 게임의 지속 여부를 확인하는 코드
if code == "n": # 게임 종료 코드
print("게임을 종료합니다.")
break
else: # 게임을 지속하는 코드
print("--------------------")
# 게임을 재시작을 하기 위해서 다시 난수발생과 cnt 를 초기화를 해야한다.
print("게임을 재시작합니다.")
num = randint(1, 100)
print("발생한 난수의 값 : ", num)
cnt = 0
* 제코드
# 중첩 if 문이 들어가서 게임의 지속여부를 확인하는 코드
if code == "n": # 게임 종료 코드
print("게임을 종료합니다.")
break
elif code == "y": #게임 지속하는 코드
print("---------------------------")
print("게임을 재시작합니다.")
randnum = randint(1,100)
print("발생한 난수의 값 : ", randnum)
cnt = 0
else :
print("잘못된 문자를 작성하였습니다.")
답변을 작성해보세요.
0
YK JO
2022.03.21
저도 강의를 보며 배우는 입장이라 이게 효율적으로 잘 짠 코드인지는 모르겠지만 지금까지 배운것들 활용하면 질문자님이 질문하신 내용도 적용되는거 같습니다. 도움이 되셨으면 좋겠네요 ㅎㅎ
# 임의의 숫자를 발생시켜 사용자로부터 입력받아 숫자를 맞추는 게임 만들기
from random import *
cnt = 0
num = randint(1, 100)
code = "y"
print("발생한 난수의 값 : ", num)
print("1부터 100사이의 숫자를 맞추어 보세요.(기회는 10번 입니다.)")
while cnt < 10 and code == "y":
guess = int(input("숫자를 입력하세요 : "))
cnt += 1
cnt2 = 10-cnt
if guess < num:
if cnt2 == 0:
print("Up!")
else:
print("Up! 기회가 %d번 남았습니다." % cnt2)
elif guess > num:
if cnt2 == 0:
print("Down!")
else:
print("Down!기회가 %d번 남았습니다." % cnt2)
elif guess == num:
print("축하드립니다. 정답입니다!")
code = input("게임을 계속 하시겠습니까?(y는 계속, n은 중단)")
# 게임을 재시작하기 위해 난수와 cnt를 초기화 한다. (중첩 if문이 들어가서 게임의 지속여부를 확인하는 코드)
while code != "y" or code != "n":
if code == "y":
print("\n-------------------------------\n")
num = randint(1, 100)
print("발생한 난수의 값 : ", num)
cnt = 0
break
elif code == "n":
print("게임을 종료합니다.")
break
else:
print("잘못된 코드를 입력하셨습니다.")
code = input("게임을 계속 하시겠습니까?(y는 계속, n은 중단)")
if cnt == 10:
print("아쉽네요. 10번의 기회를 모두 소진하였습니다.")
code = input("게임을 계속 하시겠습니까?(y는 계속, n은 중단)")
while code != "y" or code != "n":
if code == "y":
print("\n-------------------------------\n")
num = randint(1, 100)
print("발생한 난수의 값 : ", num)
cnt = 0
break
elif code == "n":
print("게임을 종료합니다.")
break
else:
print("잘못된 코드를 입력하셨습니다.")
code = input("게임을 계속 하시겠습니까?(y는 계속, n은 중단)")
답변 1