我无法将其调整为仅响应 1 到 100 之间的值。我知道它很简单,但无法通过搜索找到任何有效的东西。
while True:
Mynumber = raw_input('Enter number of random points')
if Mynumber == '0 < 100':
print 'number choosen'
Mynumber = int(Mynumber)
break
我无法将其调整为仅响应 1 到 100 之间的值。我知道它很简单,但无法通过搜索找到任何有效的东西。
while True:
Mynumber = raw_input('Enter number of random points')
if Mynumber == '0 < 100':
print 'number choosen'
Mynumber = int(Mynumber)
break
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))
如果您使用的是 Python 3.x,则以下内容也适用:
if int(my_number) in range(1, 101):
# ...
需要注意的是,范围的终点是排他性的,因此它可能比链式运算符更不直观。