Python嵌套循环验证问题

2024-04-23 07:22:54 发布

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

我正在创建一个工作日志,用户可以在其中输入任务或按日期查找任务。在

当按日期查找任务时,会向用户显示日期列表。然后用户可以通过输入数字从列表中进行选择。然后应该显示该特定日期的任务列表。在

我只是有一个问题,如果用户输入的数字不在日期列表中。您可以在方法的末尾看到else语句,该语句被注释掉了——这导致了一些问题。否则一切正常。所以,问题是——如果用户的输入不在索引列表中,并且每次在索引列表中循环时都不打印出消息,那么如何提供错误消息?在

def search_by_date(self):
    for i, d in enumerate(self.tasklist.dates()):
        enum_list = [(i+1,d) for i,d in enumerate(self.tasklist.dates())]
        print(i+1, ':', d)
    while True:
        datereq = input("Select Number To See Tasks For A Date: ").strip()
        try:
            datereq = int(datereq)

        except ValueError:
            print("Invalid Entry")
            continue

        else:
            for i, d in enum_list:
                for task in self.tasklist.task_list:
                    if datereq == i:
                        if task.date == d:
                            print("Date :", task.date,
                                  " Task:", task.task,
                                  " Minutes:", task.minutes,
                                  " Notes: ", task.notes
                                  )
                            continue

                    #else:
                        #print("Invalid Entry. Please try again")
                        #continue

Tags: 用户inself列表fortaskdate数字
1条回答
网友
1楼 · 发布于 2024-04-23 07:22:54

这就是你要找的吗?在

def search_by_date(self):
    for i, d in enumerate(self.tasklist.dates()):
        enum_list = [(i+1,d) for i,d in enumerate(self.tasklist.dates())]
        print(i+1, ':', d)
    while True:
        datereq = input("Select Number To See Tasks For A Date: ").strip()
        try:
            datereq = int(datereq)

        except ValueError:
            print("Invalid Entry")
            continue

        else:
            found = False
            for i, d in enum_list:
                for task in self.tasklist.task_list:
                    if datereq == i and task.date == d:
                        found = True
                        print("Date :", task.date,
                              " Task:", task.task,
                              " Minutes:", task.minutes,
                              " Notes: ", task.notes
                              )
            if not found:
                print("Invalid Entry. Please try again")

相关问题 更多 >