类型错误:'str' 和'tuple' 的实例之间不支持'>='



如果我键入if int(hour) >= 19:,它可以工作,但我希望它能与类似于此行if current_time >= exit_time:的内容一起工作

import time    
current_time = time.strftime('%H:%M:%S')    
exit_time = ('19:00:00','%H:%M:%S')    
hour = time.strftime('%H')     
minute = time.strftime('%M')    
second = time.strftime('%S')    
if current_time >= exit_time:    
print ("It's time to go home")     
else:    
print ("{} hours, {} minutes and {} seconds to go home".format(18-int(hour),
59-int(minute), 59-int(second)))    
请注意,您正在比较current_time(一个字符串(和exit_time(一个包含2个字符串的元组(。也许可以试试这样的东西:
if current_time >= exit_time[0]:
# your code

因为元组的第一个成员可能是您想要与current_time进行比较的。

希望这能有所帮助!

最好的替代方案是.

from datetime import datetime
current_time = datetime.now().replace(microsecond=00)
exit_time = current_time.replace(hour=19, minute=00, second=00, microsecond=00)
if current_time >= exit_time:    
print ("It's time to go home")     
else: 
time_delta = (exit_time - current_time).total_seconds()
hours_left = int(time_delta // 60 // 60)
minutes_left = int(time_delta // 60) - hours_left*60
seconds_left = int(time_delta) - hours_left*3600 - minutes_left*60

print ("{} hours, {} minutes and {} seconds to go home".format(hours_left,
minutes_left, seconds_left))

相关内容

最新更新