只是尝试编写一个程序来接受用户输入并将其添加到“数字”列表中:
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/