2014-11-24 57 views
0

我试图做一个命令行闹钟应用程序。它应该工作的方式是当当前小时和当前分钟与您想要唤醒的小时和分钟相同时,它将退出while循环并唤醒您。但是,当小时和分钟与当前一直持续的时间相同时。我试图谷歌的答案,但我一直无法找到相关信息。在Python 2.7程序中不会触发报警

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

所以,你的程序挂100%核心,直到它“醒来”为止,你还好吗? – 2014-11-24 16:09:25

+0

我将在后面更改,以便它不会一直这样做,直到闹钟时间发生。这还不是一个完整的程序。 – Xenops 2014-11-24 16:13:32

回答

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转换为int(wakehour)