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 :(得分: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
这样你就不必在循环之外有额外的输入。