초보자 파이썬 - 루프에 갇혀 있습니다
-
20-09-2019 - |
문제
나는 '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:
.
제휴하지 않습니다 StackOverflow