我正在努力通过艰苦的方式学习 Python,并尝试在我可以继续深造的地方四处乱逛。我认为这会起作用:设置 raw_input 来设置 while 循环的限制,然后让 while 循环执行到我用变量“频率”建立的限制。
它,呃,没有。相反,它将 Python 发送到创建数字列表的无限循环中,每个列表似乎比最后一个(很长)列表长一个增量。
原始代码有“while i < 6”——我添加了 raw_input 变量,即使我输入与原始代码 (6) 中相同的变量,它也会执行此无限循环操作。
完整脚本如下:
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 for Software Design 的平装本,这是我在 LPTHW 之后要做的下一件事。
最佳答案
raw_input
会给你一个字符串对象,而不是一个整数。尝试在循环之前使frequency = int(frequency)
,这将使比较有值(value)。
关于python - 为什么 raw_input 在此 Learn Python the Hard Way 练习变体中创建无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8684502/