繁体   English   中英

python错误if语句上的语法无效

[英]python error invalid syntax on if statement

我的代码需要帮助。 我想检查变量start_time是否小于,等于或大于current_time以比较时间。

这是代码:

start_date = str(stop_date[0])
stop_date = str(stop_date[1])
get_current_time = datetime.datetime.now().strftime('%H:%M')
get_start_time = time.strptime(start_date, '%Y%m%d%H%M%S')
start_time = time.strftime('%H:%M', get_start_time)
get_stop_time = time.strptime(stop_date, '%Y%m%d%H%M%S')
stop_time = time.strftime('%H:%M', get_stop_time)
current_time = str(get_current_time)

if start_time <> current_time <> stop_time:
   print "program is half way"

这是start_time的输出:

19:00
19:00
19:00
19:00
19:00
19:00
19:00

这是current_time的输出:

00:10:36 T:5304  NOTICE: 00:09

这是stop_time的输出:

00:09:33 T:6824  NOTICE: 19:30
00:09:33 T:6824  NOTICE: 20:00
00:09:33 T:6824  NOTICE: 19:30
00:09:33 T:6824  NOTICE: 20:00
00:09:33 T:6824  NOTICE: 20:00
00:09:33 T:6824  NOTICE: 19:30
00:09:33 T:6824  NOTICE: 20:00

当我尝试这个:

if start_time <=> current_time < stop_time:
   print "program has finished"

这会给我一个错误: invalid syntax

它不会让我在语句中使用= ,我只能在小于或大于或大于的情况下写在语句上,而不能在=

如何包含等于和大于等于start_time的equal =以将时间与current_time比较?

编辑:对不起,对不起我的错误。 我粘贴了错误的代码,所以这是我想要做的:

if start_time <=> current_time < stop_time:
    print "program is half way"

据我了解,您想检查一下两者是否成立:

  1. current_time小于,大于或等于start_time
  2. current_time小于stop_time

现在,第一个可以这样写:

if current_time < start_time or current_time > start_time or current_time == start_time:
   print "program has finished"

但是,这总是正确的,因为start_timecurrent_time将相等(使current_time == start_time真)或不同(使current_time < start_time or current_time > start_time真)。

第二个可以这样写:

if current_time < stop_time:
   print "program has finished"

因此,由于不需要第一个,因此您只需要:

if current_time < stop_time:
   print "program has finished"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM