Python 2中的无限循环

时间:2018-03-21 17:34:22

标签: python while-loop

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,它会提示我输入另一个日期。

2 个答案:

答案 0 :(得分:2)

您的支票位置错误:您在阅读完日期后立即操纵日期,当您返回到循环顶部时,结果不再是'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方法摆脱它。)

答案 1 :(得分:0)

Prune的另一种解决方案是使用带有if的{​​{1}}语句:

break

这样你就不必在循环之外有额外的输入。