传递给的字符串
int()应仅包含数字:
>>> int("stop")Traceback (most recent call last): File "<ipython-input-114-e5503af2dc1c>", line 1, in <module> int("stop")ValueError: invalid literal for int() with base 10: 'stop'一个快速的解决方法是在此处使用异常处理:
def guessingGame(): global randomNum global userScore guessTry = 3 while True: guess = input('Guess a Number between 1 - 10, You have 3 Tries, or Enter Stop: ') try: if int(guess) == randomNum: print('Correct') break if int(guess) < randomNum: print('Too Low') guessTry = guessTry - 1 print('You have, ' + str(guessTry) + ' Guesses Left') if int(guess) > randomNum: print('Too High') guessTry = guessTry - 1 print('You have, ' + str(guessTry) + ' Guesses Left') if guessTry == 0: print('You have no more tries') return except ValueError: #no need of str() here if guess.lower() == 'stop': breakguessingGame()而且您可以使用
guess.lower() == 'stop'匹配“ stop”的任何大小写组合:
>>> "Stop".lower() == "stop"True>>> "SToP".lower() == "stop"True>>> "sTOp".lower() == "stop"True



