无法使创建的python函数返回一个值,然后我可以在另一个计算中使用该值
我定义了一个函数,询问您在工作日什么时候开始,以及一个函数,询问您何时结束。我现在试图定义一个函数来计算它们之间的时间差,而我遇到的一个问题实际上是使用调用start/finish函数的结果 我很难理解如何使函数返回我想要的值,即当我调用函数并添加Monday参数时,从而询问具体在星期一开始的工作时间。我不确定如何获得类似“10:00”的结果,因此我可以在另一个函数中使用该结果返回 而且,我越是深入编写这段代码,就越是对如何区分日子感到困惑。如中所示,我创建了一个函数,询问您何时开始,然后我将其与另一个函数相结合,该函数基本上以一周中的几天为周期。我意识到我不知道如何将周一的ask_start_time函数与周四的ask_start_time函数分开 我得到的错误是:无法使创建的python函数返回一个值,然后我可以在另一个计算中使用该值,python,python-3.x,Python,Python 3.x,我定义了一个函数,询问您在工作日什么时候开始,以及一个函数,询问您何时结束。我现在试图定义一个函数来计算它们之间的时间差,而我遇到的一个问题实际上是使用调用start/finish函数的结果 我很难理解如何使函数返回我想要的值,即当我调用函数并添加Monday参数时,从而询问具体在星期一开始的工作时间。我不确定如何获得类似“10:00”的结果,因此我可以在另一个函数中使用该结果返回 而且,我越是深入编写这段代码,就越是对如何区分日子感到困惑。如中所示,我创建了一个函数,询问您何时开始,然后我将其
What time did you start on Monday?10:00
Traceback (most recent call last):
File "C:/Users/MM/PycharmProjects/pythonProject2/test.py", line 49, in <module>
start_datetime = datetime.datetime.strptime(mon, '%H:%M')
TypeError: strptime() argument 1 must be str, not None
问题是,ask_start_time和ask_finish_time不会返回任何结果,或者根本不会返回任何结果。从这些函数返回解析的时间,您的代码将正常工作
def ask_start/end_time(...):
...
return start/finish
问题是,ask_start_time和ask_finish_time不会返回任何结果,或者根本不会返回任何结果。从这些函数返回解析的时间,您的代码将正常工作
def ask_start/end_time(...):
...
return start/finish
def ask_start_timeday_名称,尝试次数=25:
对于范围内的尝试:
start=inputf'您在{day\u name}什么时候开始的?'
验证=重新匹配^[0-1]?[0-9]| 2[0-3]:[0-5][0-9]$,开始
如果验证:
回程起动
打印“请仅使用HH:MM格式。”
其他:
打印了25次错误的尝试,但你仍然不明白这是HH:MM
def ask_finish_timeday_名称,尝试次数=25:
对于范围内的尝试:
finish=inputf'您在{day\u name}什么时候完成的?'
验证=重新匹配^[0-1]?[0-9]| 2[0-3]:[0-5][0-9]$,完成
如果验证:
返回终点
打印“请仅使用HH:MM格式。”
def天数:
工作日=[周一、周二、周三、周四、周五、周六、周日]
开始时间={day:ask_start_time for day in work_days}
打印开始时间
定义时间差a,b:
返回b-a
开始=询问“星期一”的开始时间
start_datetime=datetime.datetime.strtimestart,'%H:%M'
完成=询问“星期一”的完成时间
finish_datetime=datetime.datetime.strtimefinish,'%H:%M'
打印时间\u差异开始\u日期时间,完成\u日期时间
def ask_start_timeday_名称,尝试次数=25:
对于范围内的尝试:
start=inputf'您在{day\u name}什么时候开始的?'
验证=重新匹配^[0-1]?[0-9]| 2[0-3]:[0-5][0-9]$,开始
如果验证:
回程起动
打印“请仅使用HH:MM格式。”
其他:
打印了25次错误的尝试,但你仍然不明白这是HH:MM
def ask_finish_timeday_名称,尝试次数=25:
对于范围内的尝试:
finish=inputf'您在{day\u name}什么时候完成的?'
验证=重新匹配^[0-1]?[0-9]| 2[0-3]:[0-5][0-9]$,完成
如果验证:
返回终点
打印“请仅使用HH:MM格式。”
def天数:
工作日=[周一、周二、周三、周四、周五、周六、周日]
开始时间={day:ask_start_time for day in work_days}
打印开始时间
定义时间差a,b:
返回b-a
开始=询问“星期一”的开始时间
start_datetime=datetime.datetime.strtimestart,'%H:%M'
完成=询问“星期一”的完成时间
finish_datetime=datetime.datetime.strtimefinish,'%H:%M'
打印时间\u差异开始\u日期时间,完成\u日期时间
这不是它的工作原理。你必须先将函数的结果影响到一个变量,然后再使用它。你的意思是我必须先将函数的结果分配给一个变量,然后才能在计算中使用它吗?如果是,我如何隔离该结果并分配它?基本上,我的问题是,当我运行代码并输入我的开始时间和结束时间时,我不知道如何将该数字作为一个独立的数字进行访问,然后我可以进行其他计算。我发布了一个描述如何进行计算的答案。不知何故,我错过了这一点,非常感谢您花时间提供帮助。谢谢,不客气,这不是它的工作原理。你必须先将函数的结果影响到一个变量,然后再使用它。你的意思是我必须先将函数的结果分配给一个变量,然后才能在计算中使用它吗?如果是,我如何隔离该结果并分配它?基本上,我的问题是,当我运行代码并输入我的开始时间和结束时间时,我不知道如何将该数字作为一个独立的数字进行访问,然后我可以进行其他计算。我发布了一个描述如何进行计算的答案。不知何故,我错过了这一点,非常感谢您花时间提供帮助。非常感谢。不客气。谢谢你的帮助
花时间回复@欢迎光临:感谢您抽出时间回复@马可姆,不客气: