我正在尝试制作命令行闹钟应用程序。它应该工作的方式是当当前小时和当前分钟与您想要唤醒的小时和分钟相同时,它将退出while
循环并唤醒您。但是,当小时和分钟与电流相同时,它就会继续前进。我试图谷歌寻求答案,但我无法找到相关信息。
import sys
import datetime
a = 0
current_time = datetime.datetime.now()
print current_time.hour
print current_time.minute
wakehour = raw_input("When do you wanna wake up?\n What hour? Use the 24-hour clock.\n>>>")
wakeminute = raw_input("How many minutes after the hour?\n>>>")
print wakehour
print wakeminute
while a == 0:
current_time = datetime.datetime.now()
print current_time.hour
print current_time.minute
if current_time.hour == wakehour and current_time.minute == wakeminute:
print 'wakey wakey'
a = 1
答案 0 :(得分:1)
当您询问raw_input
时,结果是字符串:
>>> a=raw_input()
1
>>> type(a)
<type 'str'>
但是current_time.hour
是一个int:
>>> current_time = datetime.datetime.now()
>>> type(current_time.hour)
<type 'int'>
因此,尝试在使用wakehour
转换之前将wakeminute
/ int(wakehour)
转换为int