【问题标题】:Python To-Do List List/LoopsPython 待办事项列表/循环
【发布时间】:2020-10-13 04:03:28
【问题描述】:

在尝试将其设置为执行列表代码时遇到了一些麻烦。我正在尝试编写一个程序,该程序将提示用户为他们的待办事项列表输入一个项目。然后将每个项目添加到列表中。当用户不输入任何内容时,程序将在两列中显示待办事项列表。问题是输入循环应该有一个 try/except 块,该块从循环中删除。一开始应该是这样的:(这里的间距很奇怪,我知道如何在 pyscriptor 中正确地设置间距)

try:                                                                                                  
    item = input('Enter an item for your to-do list. ' + \                                        
                 'Press <ENTER> when done: ') 
             *… Python code …*                                                    
    if len(item) == 0:                                                                                   
  *#Needed to break out of the loop in interactive mode*                                              
      break 
except EOFError:    
   break 

如果有人对如何开始有任何提示,那将非常有帮助。

【问题讨论】:

  • 首先收集输入的项目,然后(在循环之后)将它们打印出来。作为一种中间解决方案,您可以以简单的方式将它们打印出来,直到第一部分起作用。

标签: python python-3.x list loops pyscripter


【解决方案1】:

让我们试着把它分成几个步骤:

  1. 您想要一个在命令中中断的无限循环吗?

    while True:
    

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

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

    while True:
        inp = input('what do?')
    
  3. 最后你根据输入决定行动:

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

上面的程序会在输入为空时打印任务,否则将输入添加到待办事项列表中。您可以按Ctrl+C退出程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 2010-09-24
    • 1970-01-01
    相关资源
    最近更新 更多