如何在要求用户输入的for循环中使用try-except命令



摘要:我在做一个数字游戏的猜测。它会给你7次尝试猜测数字。然后它会告诉你数字。我试图通过使用Try and except方法来消除输入单词(eg.six(而不是6的人为错误。这就是我编写代码的方式。

工具:我使用的是带有python 3.10.2版本的Windows 10。

问题:我面临着一个尝试和排除方法的问题,该方法不起作用。例如,当我在用户输入中键入6/5个单词时,它不会打印That is not a number。相反,它给了我Traceback error。这就是我所避免的,并试图制作一个干净的代码。

# This a guess the number game.

import random  
secretNumber=random.randint(1,20)
for guessesTaken in range(1,7):
print('Take a guess.')
guess=int(input())
#### Why this conditioning is importtant? ####
#     Because it will only improve our guesses
try:
if guess < secretNumber:
print('Too Low')
elif guess > secretNumber:
print('Too high')
else:
break        #This is for the correct guess
except:
print('That is not a number')
if guess == secretNumber:
print('Good Game. '+'You guessed it correctly in '+ str(guessesTaken)+' 
guesses')
else:
print('Nope. The number I was thinking of was '+str(secretNumber)) 

input在try块之前抛出错误,将input((移动到try块

# This a guess the number game.

import random  
secretNumber=random.randint(1,20)
for guessesTaken in range(1,7):
print('Take a guess.')

#### Why this conditioning is importtant? ####
#     Because it will only improve our guesses
try:
guess=int(input())
if guess < secretNumber:
print('Too Low')
elif guess > secretNumber:
print('Too high')
else:
break        #This is for the correct guess
except:
print('That is not a number')
if guess == secretNumber:
print('Good Game. '+'You guessed it correctly in '+ str(guessesTaken)+' 
guesses')
else:
print('Nope. The number I was thinking of was '+str(secretNumber)) 

最新更新