python - 如何在 while 循环中使用 raw_input()

标签 python while-loop raw-input

只是尝试编写一个程序来接受用户输入并将其添加到“数字”列表中:

print "Going to test my knowledge here"
print "Enter a number between 1 and 20:"

i = raw_input('>> ')
numbers = []

while 1 <= i <= 20 :
    print "Ok adding %d to numbers set: " % i 
    numbers.append(i)

    print "Okay the numbers set is now: " , numbers

然而,当我执行程序时,它只运行到 raw_input()

Going to test my knowledge here
Enter a number between 1 and 20:
>>> 4

我在这里缺少一些基本规则吗?

最佳答案

raw_input 返回一个字符串而不是整数:

所以,

>>> 1 <= "4" <= 20
False

使用int():

i = int(raw_input('>> '))

仅使用 if,如果您只从用户那里获取单个输入:

if 1 <= i <= 20 :
    print "Ok adding %d to numbers set: " % i 
    numbers.append(i)

    print "Okay the numbers set is now: " , numbers

对多个输入使用while:

i = int(raw_input('>> '))
numbers = []

while 1 <= i <= 20 :
    print "Ok adding %d to numbers set: " % i 
    numbers.append(i)
    i = int(raw_input('>> '))                   #asks for input again
print "Okay the numbers set is now: " , numbers

关于python - 如何在 while 循环中使用 raw_input(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394495/

相关文章:

Python if 表达式无法正确处理原始输入

python - 如何安装pybrain

python - Fabric - 测试与多个主机的 SSH 连接

java - 检查整数是否有重复数字。没有字符串方法或数组

java - Java 中的类、对象、方法和再次询问循环的问题

Jupyter 笔记本中的 Python while 循环未执行

python - 高效的python raw_input和串口轮询

Python:当陷入阻塞 raw_input 时如何退出 CLI?

python - 多对多关系多个下拉菜单小部件

python - 如何在 Django 中有效地使用 _set.all()?