python - 虽然循环没有中断

标签 python while-loop

下面是一段困扰我一段时间的 Python 代码。

var=0
while (var <1 or var>100):
    var=raw_input('Enter the block number ')
    if (var >=1 and var<=100):
        print '\nBlock Number : ',var 
    else:
        print 'ERROR!!! Enter again.'

问题是 while 循环不断迭代而不中断。任何人都可以帮助我如何打破循环。

有什么方法可以在 Python 中实现 do..while 吗?

最佳答案

问题是 raw_input 返回一个字符串。你正在比较一个字符串和一个整数,你可以在 python 2.x 中这样做(在 python 3 中,这种比较会引发 TypeError),但结果显然总是 False。要完成这项工作,您可能需要像 var=int(raw_input('Enter the block number'))

这样的东西

来自documentation :

objects of different types always compare unequal, and are ordered consistently but arbitrarily.

关于python - 虽然循环没有中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11543454/

相关文章:

Python 多个 DataFrame 到字典

c - 为什么这不会进入while循环?

while循环中的Javascript if语句

python - 在pyside中区分单击和双击

while-loop - Swift 'While' 语句卡住 iOS 模拟器

python - 如何使 socket.recv(500) 不停止 while 循环

c++ - 将 int 与 string 和 getline 一起使用没有错误

python - 无法根据 ('float64' 将数组数据从 dtype ('int32' ) 转换为 dtype 'safe' )

python - 如何使用我自己的方法扩展 Python 的 datetime.datetime?

python - 如何以 Pythonic 方式将多个列表分组为单个列表?