【发布时间】:2011-12-31 06:15:51
【问题描述】:
我正在努力学习 Python the Hard Way,并尝试在我能做的事情上继续深造。我认为这会起作用:设置 raw_input 以设置 while 循环的限制,然后让 while 循环执行到我使用变量“频率”建立的限制。
它,呃,没有。相反,它将 Python 发送到创建数字列表的无限循环中,每个列表似乎都比最后一个(非常长的)列表长一个增量。
原始代码有“while i
这是完整的脚本:
i = 0
numbers = []
print "What is the frequency?"
frequency = raw_input ('Kenneth? ')
while i < frequency:
print "At the top i is %d" % i
numbers.append(i)
i = i + 1
print "Numbers now: ", numbers
print "At the bottom i is %d" % i
print "The numbers: "
for num in numbers:
print num
为最大的无知道歉——我现在有一本用于软件设计的 Python 平装本,这是继 LPTHW 之后我的待办事项清单上的下一件事。
【问题讨论】:
-
您可能会发现以下内容很有用。这是关于如何在 python 中比较字符串和整数。 stackoverflow.com/questions/3270680/…
-
尝试将
raw_input更改为input -
或
frequency = int(raw_input ('Kenneth? ')) -
您的比较总是返回 True。您需要将 raw_input 值转换为 int (int()) 以获得所需的结果。在交互式 shell 中尝试以下操作: i=6 i
-
@TomIngram 当用户提供的值无法转换为 int 时,这种方法会给您留下未处理的异常。
标签: python while-loop