python程序源代码 闹钟循环提醒播放ABC英文歌曲

#2023.07.27 开发者:云冈丹水 程序名称:闹钟循环提醒播放ABC英文歌曲
#闹钟可以设置循环次数,默认3次,可以设置循环间隔时间,默认30分钟
#程序设计目的:用于时间管理,思想来源番茄时间提醒,举例:学习30分钟,休息5分钟。
#!/usr/bin/python3 
import datetime
import time
import winsound
invalid = True
# xhcs 闹钟程序循环次数,默认3次
xhcs=3
# nzjgsj 闹钟间隔时间,默认30分
nzjgsj=3
while(invalid):
    #循环开始,设置循环2次
    for i in range(xhcs):
        print("闹钟程序共循环",xhcs,"次","第",i+1,"次")  
        #获取当前时间
        sdjnow = datetime.datetime.now()
        #print(sdjnow.hour)
        #print(sdjnow.minute)
        sdjhour=sdjnow.hour
        sdjhour=sdjhour
        sdjminute=sdjnow.minute
        sdjminute=sdjminute+nzjgsj
        if sdjminute > 59:
            sdjminute=sdjminute-nzjgsj*2
            sdjhour=sdjhour+1
            print("大于59")  
            if sdjhour > 23:
                sdjhour=0
        print("当前时间:",sdjnow.hour,sdjnow.minute)
        print("30分钟后:",sdjhour,sdjminute)

        #userInput = input("设置闹钟时间(例:08:10): ")
        #alarmTime = [int(n) for n in userInput.split(":")]
        sdjnow = datetime.datetime.now()
        #程序自动设置输入30分钟后的时间
        alarmTime = [sdjhour,sdjminute]    
        print(alarmTime)
        if alarmTime[0] >= 24 or alarmTime[0] < 0:
            invalid = True
        elif alarmTime[1] >= 60 or alarmTime[1] < 0:
            invalid = True
        else:
            invalid = False    
        seconds_hms = [3600, 60, 1]
        alarmSeconds = sum([a*b for a,b in zip(seconds_hms[:len(alarmTime)], alarmTime)])
        now = datetime.datetime.now()
        currentTimeInSeconds = sum([a*b for a,b in zip(seconds_hms, [now.hour, now.minute, now.second])])
        secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
        if secondsUntilAlarm < 0:
            secondsUntilAlarm += 86400
        print("闹钟设置完毕!")
        print("闹钟将在 %s 后响起!" % datetime.timedelta(seconds=secondsUntilAlarm))
        for i in range(0, secondsUntilAlarm):
            time.sleep(1)
            secondsUntilAlarm -= 1
            print("\r",datetime.timedelta(seconds=secondsUntilAlarm),end="",flush=True)
        print("\n铃铃铃……!时间到了!")
        #ABC英文歌演奏
        winsound.Beep(532,500) #1
        winsound.Beep(532,500) #1
        winsound.Beep(784,500) #5
        winsound.Beep(784,500) #5
        winsound.Beep(880,500) #6
        winsound.Beep(880,500) #6
        winsound.Beep(784,1000) #5-
        winsound.Beep(698,500) #4
        winsound.Beep(698,500) #4
        winsound.Beep(659,500) #3
        winsound.Beep(659,500) #3
        winsound.Beep(587,500)#2
        winsound.Beep(587,500)#2
        winsound.Beep(532,1000)#1-
        time.sleep(10)
print("\n程序运行完毕!")
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值