我几天前刚刚开始学习Python,我正在学习“学习Python的艰难之路”练习。我一直在搞乱while循环,我无法弄清楚为什么这个继续循环并循环和循环。它基本上只是一个填充列表然后打印内容的函数。
from sys import argv
script = argv
print "This script is called %s." % script
print "It allows a list to be populated with a number"
print "Please enter that number:"
whilevar = raw_input()
i = 0
numbers = []
def list_numbers(i, whilevar):
while i < to whilevar:
print "At the top i is %d" % i
numbers.append(i)
i = i + 1
print "number present in list now ", numbers
list_numbers(i, whilevar)
print "The numbers:"
for z in numbers:
print z
这可能是非常基本的东西,但我只是错过了某种方式。
由于
答案 0 :(得分:3)
我认为你不需要to
:
while i < to whilevar:
^^
此外,将whilevar
转换为整数:
whilevar = int(raw_input())
给它一个更好的名字也不会伤害。
答案 1 :(得分:2)
while i < whilevar
将i
(一个整数)与whilevar
(一个字符串)进行比较。 (raw_input
的结果始终是一个字符串,即使用户只输入数字。)
在Python 2.x中,整数总是少于字符串。所以你的情况永远都是真的,循环永远不会退出。
其他人已经解释了如何解决这个问题:使用whilevar
将int()
转换为整数。 (不要使用input()
)。
我会假设无关的to
是一个错字,你知道它不应该在那里。