문제

나는 'while'기능을 사용하고 하나는 올바르게 작동하고 다른 하나는 루프에 갇히게합니다. 첫 번째 프로그램은 이것입니다.

num=54
bob = True
print('The guess a number Game!')


while bob == True:
    guess = int(input('What is your guess?  '))

    if guess==num:
        print('wow! You\'re awesome!')
        print('but don\'t worry, you still suck')
        bob = False
    elif guess>num:
        print('try a lower number')
    else:
        print('close, but too low')

print('game over')``

그리고 그것은 예측 가능한 출력을 제공합니다.

The guess a number Game!
What is your guess?  12
close, but too low
What is your guess?  56
try a lower number
What is your guess?  54
wow! You're awesome!
but don't worry, you still suck
game over

그러나 나는 또한이 프로그램이 작동하지 않습니다.

#define vars
a = int(input('Please insert a number: '))
b = int(input('Please insert a second number: '))

#try a function
def func_tim(a,b):
    bob = True
    while bob == True:
        if a == b:
            print('nice and equal')
            bob = False
        elif b > a:
             print('b is picking on a!')
        else:
            print('a is picking on b!')
#call a function
func_tim(a,b)

어떤 출력;

Please insert a number: 12
Please insert a second number: 14
b is picking on a!
b is picking on a!
b is picking on a!
...(repeat in a loop)....

이 프로그램이 왜 다른지 알려주시겠습니까? 고맙습니다!

도움이 되었습니까?

해결책

두 번째 프로그램에서는 사용자에게 동일하지 않은 경우 두 개의 새로운 숫자를 선택할 수있는 기회를주지 않습니다. 다음과 같이 루프 내부의 사용자로부터 입력되는 줄을 넣으십시오.

#try a function
def func_tim():
    bob = True
    while bob == True:
        #define vars
        a = int(input('Please insert a number: '))
        b = int(input('Please insert a second number: '))

        if a == b:
            print('nice and equal')
            bob = False
        elif b > a:
             print('b is picking on a!')
        else:
            print('a is picking on b!')
#call a function
func_tim()

다른 팁

두 번째 예에서는 사용자가 루프 내부에 새로운 추측을 입력 할 기회가 없습니다. a 그리고 b 동일하게 유지됩니다.

두 번째 프로그램에서 if b > a, 당신은 루프로 돌아갈 것입니다 bob 아직 true. 사용자에게 다시 입력 해달라고 요청하는 것을 잊었습니다.이 방법으로 시도해보십시오.

  def func_tim():
    while 1:
       a = int(input('Please insert a number: '))
       b = int(input('Please insert a second number: '))
       if a == b:
           print('nice and equal')
           break
       elif b > a:
           print('b is picking on a!')
       else:
           print('a is picking on b!')


func_tim()

두 번째 프로그램은 사용자가 정확하지 않은 경우 추측을 다시 입력 할 수 없습니다. 꼭 input while 루프로.

추가 힌트 : 수표를 만들지 마십시오 variable == True, 그냥 말해 while variable:.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top