#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목Step_12_Loop_Part_22022-04-26 01:33
작성자

mb-file.php?path=2022%2F04%2F26%2FF2137_1%EC%BA%A1%EC%B2%98.PNG

숫자 추측 게임 개발하기 (2)

다음의 요구 사항에 맞는 프로그램을 개발하여 아래의 입력창을 통해서 실행합니다.

(a) 앞서 숫자 추측 게임 개발하기 (1) 문제와 반대되는 문제입니다.
(b) 이번에는 사용자(당신)가 0에서 100 사이 숫자 중 하나를 골라 머리 속에 기억합니다.
(c) 프로그램이 그 숫자가 무엇인지 맞히도록 합니다.
(d) 프로그램이 숫자를 guess할때마다 사용자는 그 숫자가 자신이 생각한 수 보다 큰지(2), 작은지(0), 혹은 똑같은지(1) 입력합니다.
(e) 프로그램이 숫자를 맞히면 종료됩니다.

위 문제에 대해 제가 작성한 코드입니다

2 또는 0을 입력해 주면 for문(while문)이 반복해서 작동하면서

원하는 결과를 얻기를 기대하고서 작성하였지만

값을 한 번 받고, for문(while문)을 통해 값을 한 번 더 받으면 위와 같이 if문을 전부 수행하지 않고 반복해서 작동합니다 (1을 받으면 정상적으로 정지합니다)

왜 이런 문제가 발생한 건가요?

코드 첨부합니다


import random

x=50

print('try. 1')

print("if 50 is bigger than your number, input 2 \n if 50 is smaller than your number, input 0 \n if 50 is your number, input1")

a = int(input("2,1,0: "))

'''

while True:

    if a == 1:

        print("Yeah!")

        break

    elif a == 0:

        x = random.randrange(x, 101)

        print("if " + str(x) + " is bigger than your number, input 2 \n if " + str(x) + " is smaller than your number, input 0 \n if " + str(x) + " is your number, input1: ")

        a = input("2,1,0: ")

    elif a == 2:

        x = random.randrange(0, x)

        print("if " + str(x) + " is bigger than your number, input 2 \n if " + str(x) + " is smaller than your number, input 0 \n if " + str(x) + " is your number, input1: ")

        a = input("2,1,0: ")

'''

for i in range(10000000):

    print('try. '+ str(i+2))

    if a == 1:

        print("Yeah!")

        break

    elif a == 0:

        x = random.randrange(x, 101)

        print("if " + str(x) + " is bigger than your number, input 2 \n if " + str(x) + " is smaller than your number, input 0 \n if " + str(x) + " is your number, input1 ")

        a = input("2,1,0: ")

    elif a == 2:

        x = random.randrange(0, x)

        print("if " + str(x) + " is bigger than your number, input 2 \n if " + str(x) + " is smaller than your number, input 0 \n if " + str(x) + " is your number, input1 ")

        a = input("2,1,0: ")

 

댓글
이전[re]step_12_loop_part_2 숫자 추측 프로그램 만들기 질문입니다.2022-04-26
다음[re]Step_12_Loop_Part_22022-04-26