首页 > 解决方案 > 为什么 Break 没有打破这一小段代码的循环?

问题描述

项目清单

# To put values in list till user want
#comparing value entered with the ascii value ofenter
# key , if enter then come out of infinite loop
# why break is not breaking out on enter press
#if value is not enter_key thn put this value in list
x=1
lis=[]
while x == 1 :
    var = str(input())
    if var == chr(10):  
        break                     
    lis.append(var)    

print("i m free now from infinite loop")
print(lis)

标签: pythonpython-3.xinfinite-loopbreak

解决方案


如果用户在 提示时按下回车键而没有输入任何内容str(input()),则返回值将是一个空字符串。因此,您不应将varchr(10)与换行符 ( \n) 进行比较。而是试试这个:

x=1
lis=[]
while x == 1 :
    var = str(input())
    if var == "":            #Compare to an empty string!
        break                     
    lis.append(var)    

print("i m free now from infinite loop")
print(lis)

推荐阅读