python2中的无限While循环

2024-04-20 02:40:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 程序txtinputdatejobopenlistfile
2条回答

Prune的另一种解决方案是将if语句与break一起使用:

    while(True):
        date=input('\nEnter Date (YYYYMMDD) : ')
        if(date=='0'):
            break
        ...#your work here

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

您的支票放错地方了:只要读入日期就对其进行操作,当您返回循环的顶部时,结果不再是'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命令来精确地显示所读的内容。也许有点像

^{pr2}$

竖线将显示任何前导或尾随的空白,例如换行符。(用strip方法去掉它。)

相关问题 更多 >