Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python待办事项列表/循环_Python_Python 3.x_List_Loops_Pyscripter - Fatal编程技术网

Python待办事项列表/循环

Python待办事项列表/循环,python,python-3.x,list,loops,pyscripter,Python,Python 3.x,List,Loops,Pyscripter,尝试生成此待办事项列表代码时遇到了一些问题。我正在尝试编写一个程序,提示用户为他们的待办事项列表输入一项。然后将每个项目添加到列表中。当用户未输入任何输入时,程序将以两列显示待办事项列表。问题是,输入循环应该有一个try/except块,其中该块从循环中掉落。一开始应该是这样的:(空格在这里很奇怪,我知道如何在pyscriptor中正确空格) 试试看: item=input('为您的待办事项列表输入一项。'+\ '完成后按:') *…Python代码…* 如果长度(项目)==0: *#需要在交互

尝试生成此待办事项列表代码时遇到了一些问题。我正在尝试编写一个程序,提示用户为他们的待办事项列表输入一项。然后将每个项目添加到列表中。当用户未输入任何输入时,程序将以两列显示待办事项列表。问题是,输入循环应该有一个try/except块,其中该块从循环中掉落。一开始应该是这样的:(空格在这里很奇怪,我知道如何在pyscriptor中正确空格)

试试看:
item=input('为您的待办事项列表输入一项。'+\
'完成后按:')
*…Python代码…*
如果长度(项目)==0:
*#需要在交互模式下打破循环*
打破
除EOFError外:
打破

如果任何人有任何关于如何开始的建议,都会非常有帮助。

让我们尝试将其分为以下几个步骤:

  • 你想要一个无休止的循环,在命令下中断

    while True:
    
    幸运的是,当您按下Ctrl+C时,终端和python解释器已经提供了进程终止中断,所以您不需要实现它。但是,如果您想进行一些破坏性清理,您可以捕获键盘中断:

    try:
        while True:
    except KeyboardInterrupt:
        print('exiting program, bye!')
        sys.exit(0)
    
  • 然后在每个循环迭代中都需要输入

    while True:
        inp = input('what do?')
    
  • 最后,根据输入确定操作:

    TODO = []
    
    while True:
        inp = input('add task: ')
        if not inp.strip():
            for task in TODO:
                print(f'- {task}')
        else:
            TODO.append(inp)
    

  • 当输入为空时,上面的程序将打印任务,否则将输入添加到todo列表。您可以按Ctrl+C退出程序,首先收集输入的项目,然后(循环后)打印出来。作为中间解决方案,您可以以简单的方式将它们打印出来,直到第一部分开始工作。