Мой цикл while зацикливается, несмотря на достижение разрыва. Он зацикливается один раз, а все остальное продолжается каPython

Программы на Python
Anonymous
 Мой цикл while зацикливается, несмотря на достижение разрыва. Он зацикливается один раз, а все остальное продолжается ка

Сообщение Anonymous »

он ​​не ломается, и я не знаю почему
Это проблемный участок кода. Он работает нормально, попытка исключения в порядке, и проверка, если он не находится в пределах диапазона, работает нормально. Но не второй.
Он проверяет, находится ли ввод в пределах диапазона, он печатает ввод. Оно не ломается. Вместо этого оно продолжается. Затем он чудесным образом сработает, когда вы введете второй раз в пределах диапазона.
import random
random.seed(10)
def userInput():
while True:
try:
userInput=int(input('Type 1 for rock, 2 for scissors, or 3 for paper: '))
while userInput not in range(1,4,1):
print('Invalid input')
break
except:
print('Invalid input')
continue
if userInput in range(1,4,1):
print(userInput)
break
if userInput==1:
return 'rock'
if userInput==2:
return 'scissors'
if userInput==3:
return 'paper'

def convertChoiceToString(compChoice):
if compChoice==1:
return 'I choose rock'
elif compChoice==2:
return 'I choose scissors'
elif compChoice==3:
return 'I choose paper'
#def rockPaperScissors():

def main():
print('Rock Paper Scissors')
userInput()
print('You chose',userInput())
compChoice=random.randrange(1,3,1)
print(convertChoiceToString(compChoice))
main()


Подробнее здесь: https://stackoverflow.com/questions/797 ... en-goes-on

Вернуться в «Python»