2014-11-24 75 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)