防止用户在猜数游戏中输入无效值

  • 本文关键字:无效 游戏 用户 python
  • 更新时间 :
  • 英文 :


下面的程序只是一个高/低数字游戏。4个标准之一是进行错误检查,以确保较低的变量实际上低于较高的变量。

我尝试了几种不同的方法来实现它,但都没有成功。我一直收到ValueError,我很确定这是因为如果我输入10作为"小写"变量和1作为"大写"变量,randint正在尝试调用randint(10, 1),而不是提示用户错误并重新输入数字。我已经尝试了一个单独的循环和if语句。

import random
seedVal = int(input('What seed should be used? '))
random.seed(seedVal)

lower = int(input('Enter lower bound. '))
upper = int(input('Enter upper bound. '))
answer = random.randint(lower, upper)

while True:
guess = int(input('What is your guess? '))
if guess < lower or guess > upper:
print('Please enter a guess between lower bound and higher bound.')
elif guess == answer:
print('You got it!')
break
elif guess > answer:
print('Nope, too high.')
else:
print('Nope, too low.')

你可以这样做:-

valid_numbers = False
while not valid_numbers:
lower = int(input('Enter lower bound. '))
upper = int(input('Enter upper bound. '))
if lower > upper:
print("the lower value should be smaller than the upper value.")
continue
else:
break
random.randint(lower, upper)

您可能想使用异常处理。如果值不正确,简单地引发一个异常,捕获它并打印消息。或者,如果默认情况下允许此序列,则捕获以下错误。关于

最新更新