你可能之前有见过有人使用Python语言构建闹钟,帮助他唤醒或提醒他一个重要的会议。
这些都是很简单,没有任何智能,他们所做的只是播放你设置的闹钟音乐,或者随机选择一个YouTube视频或歌曲来播放。
所以,让我们更上一层楼,做一些更聪明,更个性化的东西,它能理解你,帮助你更快更好地醒来。
我们将在本文中构建的个性化闹钟系统将从过去的事件中学习并理解它们,以便在下一个闹钟中获得更好的性能。每次使用它都会变得更好。
它会记录用户关闭闹钟所花的时间(用户醒来所用的时间),并推荐有助于你更快醒来的闹铃调音。
所以,让我们开始制造闹钟系统。我们将在下面一步一步地建造它。
导入所需的包
第一步是将所需的包导入到Python代码中,以便在构建闹钟时使用它们。
如果没有安装它们,你需要首先使用pip安装方法安装它们。完成安装步骤后,继续将它们导入代码中。
import datetime
import os
import time
import random
import csv
from pygame import mixer
import pandas as pd
import numpy as np
设置Tunes文件夹
下一步是设置一个AlarmTunes文件夹,用户将在其中存储他选的闹铃。
你可以设置闹铃的路径,我更喜欢Python脚本所在的文件夹创建一个新文件夹。
我们只需要创建一次文件夹,所以我们需要检查该文件夹是否存在。如果文件夹不存在,我们将创建一个。
获取脚本的当前路径
path = os.getcwd()
设置闹铃路径
alarm_path = path + ‘\Alarm_Tunes’
如果没有,创建一个。
if not os.path.isdir(alarm_path):
os.makedirs(alarm_path)
现在,在我们的文件夹被创建后,如果并且仅当文件夹当前是空的,我们将要求用户添加一些闹铃到文件夹,
要求用户在文件夹中添加一些闹铃。
while len(os.listdir(alarm_path))0:
print(“No Alarm Tunes Present. Please add some tunes to the folder before proceeding.”)
confirm = input(“Have you added songs? Press Y or N:\t”)
if(confirm"Y"):
print(“Good! Let’s continue!”)
continue
else:
continue
因此,如上所述,我们要求用户至少添加一个闹铃。如果没有闹铃,发出警告并再次询问用户。
创建CSV文件并定义helper函数
现在,让我们在跳转到CSV文件创建部分之前定义一个helper函数。
这个helper函数帮助我们计算两个Pyth