【发布时间】:2019-03-22 11:42:01
【问题描述】:
我想创建一个函数来检查是否是正确的时间进行操作,但我希望它灵活并检查作为函数输入的每对参数的条件。我写了一些代码,它在理论上应该是什么样子,现在我正试图弄清楚如何在代码中编写它。
def report_time(greater_than1=0, lower_than1=24,
greater_than2=0, lower_than2=24,
greater_than3=0, lower_than3=24,
...
greater_thanN=0, lower_thanN=24):
if greater_than1 < datetime.now().hour < lower_than1:
logger.info('Hour is correct')
return True
if greater_than2 < datetime.now().hour < lower_than2:
logger.info('Hour is correct')
return True
if greater_than3 < datetime.now().hour < lower_than3:
logger.info('Hour is correct')
return True
...
if greater_thanN < datetime.now().hour < lower_thanN:
logger.info('Hour is correct')
return True
使用示例:
foo = report_time(16, 18)
foo = report_time(16, 18, 23, 24)
foo = report_time(16, 18, 23, 24, ..., 3, 5)
【问题讨论】:
-
老实说,您的命名具有误导性,为什么
greater_than1在左边而lower_than1在右边? -
因为大于等于低值,这真的重要吗?
标签: python function if-statement arguments