用Python写了一个不起床让你后悔的闹钟

434 篇文章 9 订阅
346 篇文章 4 订阅

导读

哎 😡 ,别提了自从回到家整个人都懒散了,总被人嫌弃不说还觉得生活没有了盼头,还好在社区认识了一些大佬让我想重新来过做回自己,不在做小丑,于是乎我就想用个东西来提醒我别睡懒觉,然后这篇文章就诞生了。

来吧看看今天的故事。

闹钟

有人说程序员的日常就是反复造轮子,我觉得能在原来的基础上玩出新花样来帮到一些人,做这些事还是挺有趣的。

没有什么高深的学问就是给大家在枯燥的夏日带来一点欢愉。

使用的模块

import time
from datetime import datetime
from playsound import playsound#
```用来播放铃声的
import pyttsx3

如果你对import pyttsx3不太熟悉的话可以学习一下,就是一个文字朗读模块,一会我们将要用到。

首先我们先来设置闹钟的的预定时间

alarm_time = input("输入要设置的闹钟时间:HH:MM:SS\n")
    alarm_period=input("请输入要设置的时期(AM或PM):\n")
    alarm_hour=alarm_time[0:2]#获取小时
    alarm_minute=alarm_time[3:5]#获取分钟
    alarm_seconds=alarm_time[6:8]#多少秒
    alarm_period = alarm_period.upper()
     print("设置成功正在运行,祝您休息愉快....zzZZ..")

设置成功后闹钟就在运行了下面给大家展示一下效果片段

音频:
在这里插入图片描述
一个能帮你分手或辞职的闹钟

 while flag:
        now = datetime.now()
        current_hour = now.strftime("%I")
        current_minute = now.strftime("%M")
        current_seconds = now.strftime("%S")
        current_period = now.strftime("%p")
        if(alarm_period==current_period):
            if(alarm_hour==current_hour):
                if(alarm_minute==current_minute):
                    if(alarm_seconds==current_seconds):
                        print("Wake Up!!!")
                        playsound('1.mp3') ## 铃声名字最好不要带中文,会节码失败
                        if(int(now.strftime("%M"))-int(alarm_minute)==10):#延迟十分钟在叫一次
                            playsound('1.mp3')
                            time.sleep(60)
                            pp.say('还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈')
                            pp.runAndWait()

原理很简单,就是一堆判断大概是这样的
在这里插入图片描述
另外怕大家不会使用,直接给大家准备了写好的,直接下载打开即可使用!
源码放在百度云盘上了

朋友们如果还想了解Python前景,学习Python编程可以微信扫描下方CSDN官方认证二维码来免费领取 Python学习资料【保证100%免费】。

辞职或分手(肯定用的着,建议记录一下)

这里我们用到Python SMTP发送邮件 简单介绍一下

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明:

host: SMTP 服务器主机。你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
参数说明:

from_addr: 邮件发送者地址。
to_addrs: 字符串列表,邮件发送地址。
msg: 发送消息

这里要注意一下第三个参数,msg 是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意 msg 的格式。这个格式就是 smtp 协议中定义的格式
因为我们要用到QQ邮箱smtp服务发送邮件下面我们也简单介绍一下获取授权码的方法

1·这里找到QQ邮箱
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


下面进行代码展示

my_sender = '2073969408@qq.com'  # 发件人邮箱账号
    my_pass = '***'  # 授权码
    my_user = '2073969408@qq.com'  # 收件人邮箱账号,我这边发送给自己

    def mail():
        ret = True
        try:
            msg = MIMEText('想睡觉,不干了', 'plain', 'utf-8')  # 填写内容
            msg['From'] = formataddr(["我是肥学,老子干了", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['To'] = formataddr(["肥学", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['Subject'] = "辞职报告"  # 邮件的主题,也可以说是标题你也可以写成分手报告

            server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器
            server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
            server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.quit()  # 关闭连接
        except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
            ret = False
        return ret

    ret = mail()
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")

结果:我这个是自己给自己发了一个的测试图片暂时还没有工作的同学可以同样的方法把邮箱改成你对象的邮箱,嘻嘻嘻。这不就可以治治你的懒床了吗。

好了下面贴出全部代码:

import time
from datetime import datetime
from playsound import playsound
import pyttsx3

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

def alarm():
    pp = pyttsx3.init()
    alarm_time = input("输入要设置的闹钟时间:HH:MM:SS\n")
    alarm_period=input("请输入要设置的时期(AM或PM):\n")
    alarm_hour=alarm_time[0:2]#获取小时
    alarm_minute=alarm_time[3:5]#获取分钟
    alarm_seconds=alarm_time[6:8]#多少秒
    alarm_period = alarm_period.upper()

    print("设置成功正在运行,祝您休息愉快....zzZZ..")
    flag=True
    while flag:
        now = datetime.now()
        current_hour = now.strftime("%I")
        current_minute = now.strftime("%M")
        current_seconds = now.strftime("%S")
        current_period = now.strftime("%p")
        if(alarm_period==current_period):
            if(alarm_hour==current_hour):
                if(alarm_minute==current_minute):
                    if(alarm_seconds==current_seconds):
                        print("Wake Up!!!")
                        playsound('1.mp3') ## 铃声名字最好不要带中文,会节码失败
                        if(int(now.strftime("%M"))-int(alarm_minute)==10):#延迟十分钟在叫一次
                            playsound('1.mp3')
                            time.sleep(60)
                            pp.say('还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈')
                            pp.runAndWait()
    return 1

def mail_qq():
    my_sender = 'xxxxx@qq.com'  # 发件人邮箱账号
    my_pass = '***'  # 授权码
    my_user = 'xxxxxxx@qq.com'  # 收件人邮箱账号,我这边发送给自己

    def mail():
        ret = True
        try:
            msg = MIMEText('想睡觉,不干了', 'plain', 'utf-8')  # 填写内容
            msg['From'] = formataddr(["我是肥学,老子干了", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['To'] = formataddr(["肥学", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['Subject'] = "辞职报告"  # 邮件的主题,也可以说是标题你也可以写成分手报告

            server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器
            server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
            server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.quit()  # 关闭连接
        except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
            ret = False
        return ret

    ret = mail()
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")

if __name__ == '__main__':
    a=alarm()
    if a==1:#如果闹钟没关闭就发邮件

最后

作为一个IT的过来人,我自己整理了一些python学习资料,都是别人分享给我的,希望对你们有帮助。

微信扫描下方CSDN官方认证二维码来免费领取 Python学习资料【保证100%免费】。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值