比较if语句中的三个变量

时间:2016-02-13 00:16:56

标签: python python-2.7

我需要一些帮助才能传递if语句。当我尝试使用三个变量比较值时,我遇到了if语句的问题,因为我正试图通过。

start_time = '22:35'
current_time = '23:48'
stop_time = '00:00'

if current_time == start_time:
   print "the program has started"


elif start_time != current_time < stop_time:
    print "program is half way"


elif current_time > stop_time:
    print "program has finished"

我可以在每个if语句上传递没有问题,但我的问题是我的变量start_time的值22:35不等于current_time值{ {1}}。那么我如何与23:48start_time之间的值进行比较,以便比较它是否小于变量current_time中的值00:00?< / p>

我想检查变量stop_time中的值是否小于stop_timecurrent_time

想象一下你正在观看当前时间start_time开始的电视节目。你正在观看比22:35节目结束前少的节目,所以你要在完成时间00:00之前再次检查时间,它说它还在中途。然后你在当前时间检查它比00:00更早,所以它说程序已经完成。

在我的代码上,我将始终通过00:00,因为我始终不断获得elif current_time > stop_time:而应该print "program has finished"

如何比较变量print "program is half way"start_time之间的三个值以查看它是否小于并检查它是否小于变量{{current_time的值00:00 1}}?

编辑:当我从日期格式获取小时和分钟,特别是年,月,日,小时,分钟和秒时,我将它们用作字符串

stop_time

1 个答案:

答案 0 :(得分:0)

使用两个比较和if current_time > start_time and current_time < stop_time: #do work 逻辑,我们可以创建这样的东西:

   current_time = datetime.now() #lets say this is 2016, 2, 12, 17:30
   start_time = datetime.datetime(2016,2,12,16,30) # or datetime.strptime(start_time)
   end_time = datetime.datetime(2016,2,13,0,0)
if current_time == start_time:
    print "the program has started"


elif current_time > start_time and current_time < stop_time:
    print "Program is still running"


elif current_time > stop_time:
    print "program has finished"

但实际问题是处理date and time

{{1}}