[英]Infinite While Loop in Python 2
file = open(r'd:\holiday_list.txt', 'w')
date = ''
while(date != '0'):
date = input('\nEnter Date (YYYYMMDD) : ')
date = date[:4] + '-' + date[4:6] + '-' + date[5:]
file.write(date)
print('Job Done!')
file.close()
该程序应该以日期(例如:20112016)作为输入并将其写入文件。 问题是程序没有退出while循环。 如果我输入0,则提示我输入另一个日期。
您将支票放在错误的位置:读入日期后立即操作日期,回到循环顶部时结果不再为'0'
。 尝试这个:
date = input('\nEnter Date (YYYYMMDD) : ')
while(date != '0'):
date = date[:4] + '-' + date[4:6] + '-' + date[5:]
file.write(date)
date = input('\nEnter Date (YYYYMMDD) : ')
另一个检查是调试的最基本方法:输入print
命令以准确显示所读内容。也许类似
print("date is ||", date"||")
竖线将显示任何前导或尾随空白,例如换行符。 (使用strip
方法摆脱它。)
Prune的替代解决方案是使用带有break
的if
语句:
while(True):
date=input('\nEnter Date (YYYYMMDD) : ')
if(date=='0'):
break
...#your work here
这样,您不必在循环外有其他输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.