如果声明数字在一个范围内

DGr*_*ham 0 python if-statement

我无法调整它,因为它只响应1到100之间的值.我知道它的简单,但通过搜索找不到任何东西.

while True:
    Mynumber = raw_input('Enter number of random points')
    if Mynumber == '0 < 100':
            print 'number choosen'
            Mynumber = int(Mynumber)
            break
Run Code Online (Sandbox Code Playgroud)

Sil*_*Ray 12

if 1 <= my_number <= 100:
Run Code Online (Sandbox Code Playgroud)

或者,因为您从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:
Run Code Online (Sandbox Code Playgroud)

虽然进一步分析,看起来你正在尝试:

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))
Run Code Online (Sandbox Code Playgroud)

  • 在进行此测试之前,不要忘记将my_number设为整数:) (5认同)
  • @TomStork不要忘记将其标记为已接受;) (2认同)