我无法调整它,因为它只响应1到100之间的值。我知道它的简单,但通过搜索找不到任何东西。
while True:
Mynumber = raw_input('Enter number of random points')
if Mynumber == '0 < 100':
print 'number choosen'
Mynumber = int(Mynumber)
break
答案 0 :(得分:12)
if 1 <= my_number <= 100:
或者,因为您从raw_input获取并且必须首先从未知字符串转换为int
:
try:
my_number = int(raw_number)
except ValueError:
print "%s not an integer value." % raw_number
else:
if 1 <= raw_number <= 100:
虽然进一步分析,看起来你正试图这样做:
base_prompt = 'Enter number of random points'
user_input = raw_input(base_prompt)
while True:
try:
input_number = int(user_input)
except ValueError:
user_input = raw_input('%s not an interger\n%s' % (user_input, base_prompt))
else:
if 1 <= input_number <= 100:
break
else:
user_input = raw_input('%d out of range (1 to 100)\n%s' % (input_number, base_prompt))
答案 1 :(得分:0)
如果您使用的是Python 3.x,则以下内容也适用:
if int(my_number) in range(1, 101):
# ...
需要注意的是,范围的终点是独占的,因此它可能比链式运算符的读取更不直观。