【发布时间】:2017-08-24 03:52:46
【问题描述】:
我尝试了 for/except 但我无法让它工作
代码如下:
#This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print('I am thinking of a number between 1 and 20.')
# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
print('Take a guess.')
guess = int(input())
if guess < secretNumber:
print('Your guess is too low.')
elif guess > secretNumber:
print('Your guess is too high.')
else:
break # This condition is the correct guess!
if guess == secretNumber:
print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
print('Nope. The number I was thinking of was ' + str(secretNumber))
~~~~ 显然,如果我输入一个字符串,它将不满足任何标准,它只会因错误而中断。我不希望它因错误而中断。我该怎么办? 错误是(当用“测试”一词而不是数字响应时):
Traceback (most recent call last):
line 8, in <module>
guess = int(input())
ValueError: invalid literal for int() with base 10: 'test'
【问题讨论】:
-
捕获
ValueError异常,例如-except ValueError:并处理它(例如pass忽略)。
标签: python random numbers break