python - 为什么 raw_input 在此 Learn Python the Hard Way 练习变体中创建无限循环?

标签 python while-loop

我正在努力通过艰苦的方式学习 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/

相关文章:

python - 非序列化数据的共享内存缓存

python - 使用 python 2.7 for windows 执行 sh 文件

variables - PHP - if 语句和 while 循环内的变量范围

java - 如果输入错误,需要重新输入,该怎么办?

python - 如何修复高阶函数来模拟联名银行账户?

python数据框将周数转换为月份

java - 从 JAVA 套接字读取比 Python 慢

awk - 如何将文本文件中的每一行另存为新文件

java - 我的 while 循环对于我的方法来说是否太快?

python - 为什么使用不同的循环方法(Python)循环速度会有很大差异?