当输入是字母而不是数字时,Python会说(ValueError:int()的文本无效,以10为底:“”)
当输入是字母而不是数字时,Python会给出错误值error:invalid literal for int,以10为基数:当输入是字母而不是数字时,Python会说(ValueError:int()的文本无效,以10为底:“”),python,Python,当输入是字母而不是数字时,Python会给出错误值error:invalid literal for int,以10为基数: print('I am thinking of a number between 1 and 20') import random secretNumber = random.randint(1, 20) for guessesTaken in range(1, 7): print('Take a guess.') guess = int(input())
print('I am thinking of a number between 1 and 20')
import random
secretNumber = random.randint(1, 20)
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
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))
如果不是这样的数字,可以使用while循环不断请求输入
print('I am thinking of a number between 1 and 20')
import random
secretNumber = random.randint(1, 20)
guess = 0
for guessesTaken in range(1, 7):
while (True):
print('Take a guess.')
guess = input()
if (guess.isnumeric()):
guess = int(guess)
break
else:
print("Please enter a number")
if guess < secretNumber:
print('Your guess is too low.')
elif guess > secretNumber:
print('Your guess is too high.')
else:
break
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))
谢谢您正在将输入转换为int,而没有任何错误检查。环绕猜测=在try/catch块中输入,或在while循环中清理输入。这就是应该发生的事情。以10为基数的整数中没有有效的字母,只有0到9。请参阅上的标准教程。或此?