0

我试图验证用户输入以查看它是否在 1 到 500 的范围内。以下是我提出的代码:

while teamScore not in range (1,501):
    print "The score is not in the valid range!"
    teamScore=raw_input("Please enter the team score (1-500): ")

但是,当我运行代码时,除了说明 0 和 900 无效外,它不接受正确的数字,例如 34、79、200。

我想仍然使用我的while循环,任何人都可以告诉我我应该如何修改我的代码?先感谢您!!

4

2 回答 2

0

raw_input返回一个包含用户输入的字符串。您的 while 循环使用该字符串并检查它是否在整数范围内。将teamscore变量转换为整数。

while teamScore not in range (1,501):
    print "The score is not in the valid range!"
    teamScore=raw_input("Please enter the team score (1-500): ")
    try: 
         teamScore = int(teamScore)
    except ValueError:
         teamScore = 0
于 2013-07-21T07:42:46.717 回答
0
while teamScore not in range (1,501):
    print "The score is not in the valid range!"
    teamScore=int(raw_input("Please enter the team score (1-500): "))

raw_input() 返回一个字符串,你应该把它转换成 int。

于 2013-07-21T07:47:35.770 回答