Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.
Če ste začetnik Pythona, je ta preprosta budilka odličen praktični uvod.
Obstaja veliko vaj, s katerimi lahko okrepite svoje znanje Pythona. Ena od teh vaj je budilka, ki jo lahko napišete kot eno samo skriptno datoteko. Zaženete ga lahko tudi z ukaznim pozivom.
V skriptu budilke mora uporabnik nastaviti čas, ko želi, da se alarm oglasi. Skript Python bo nato uporabniku prikazal sporočilo "Wake up", ko se sproži alarm.
Dodate lahko tudi odštevanje, da uporabniku pokažete, kako dolgo mora čakati, da se sproži alarm.
Kako nastaviti alarm
Ustvarite skript Python in dodajte prve natisnjene izjave, da uporabnika vprašate, kdaj želi nastaviti alarm. Če niste seznanjeni z nekaterimi sintaksami Pythona, si jih lahko ogledate osnovni primeri pythona da vam pomaga razumeti osnove.
- Ustvarite novo datoteko in jo pokličite alarm.py.
- Odprite skript Python s katerim koli urejevalnikom besedil, kot je Notepad++.
- Na vrhu datoteke uvozite oba modula za datum in čas. Program jih bo uporabil pri izračunu, koliko časa mora počakati, da se alarm oglasi. Lahko uporabiš Pythonov časovni modul med drugim za odložitev izvršitve.
uvoz Datum čas
uvoz čas - Dodajte zanko medtem. Znotraj zanke while prosite uporabnika, da vnese veljaven čas alarma v obliki [ura: minuta]. Zanka while se bo ponovila, če uporabnik vnese neveljavno številko.
neveljavno = Prav
medtem(neveljavno):
# Pridobite veljaven uporabniški vnos za čas alarma
natisni("Set a veljaven časza alarm (npr. 06:30)")
userInput = vnos(">>") - Znotraj zanke while pretvorite vnos uporabnika v matriko, ki ločuje vrednost ure od vrednosti minute.
# Na primer, to bo pretvorilo 6:30 v niz [6, 30].
alarmTime = [int (n) za n v userInput.split(":")] - Še vedno znotraj zanke while preverite vrednosti ure in minute. Ura naj bo številka med 0 in 23, minuta pa med 0 in 59. Če ti pogoji niso izpolnjeni, bo neveljavna logična vrednost povzročila ponovitev zanke while in od uporabnika zahtevala, da vnese novo vrednost.
# Potrdite, da je vneseni čas med 0 in 24 (ur) ali 0 in 60 (minut)
če je čas alarma[0] >= 24 ali alarmTime[0] < 0:
neveljavno = Prav
elif alarmTime[1] >= 60 ali alarmTime[1] < 0:
neveljavno = Prav
drugače:
neveljavno = False
Kako prešteti, koliko časa je treba čakati, da se alarm oglasi
Počakajte, da se alarm oglasi, tako da preštejete, koliko sekund bo moral program čakati.
- Pod zanko while pretvorite čas alarma v sekundo v dnevu. Za referenco, dan ima 86400 sekund. Če uporabnik vnese 00:01 (eno minuto čez polnoč), bo čas alarma v sekundah 60. Če uporabnik vnese 23:59, bo čas alarma v sekundah 86340.
# Število sekund v uri, minuti in sekundi
sekunde_hms = [3600, 60, 1]
# Pretvorite čas alarma v sekunde
alarmSeconds = sum([a*b za a, b v zip (seconds_hms[:len (alarmTime)], alarmTime)]) - Za določitev trenutnega časa uporabite funkcijo datetime.now(). Pretvori trenutni čas v sekundah.
zdaj = datetime.datetime.now()
currentTimeInSeconds = sum([a*b za a, b v zip (seconds_hms, [now.hour, now.minute, now.second])]) - Izračunajte število sekund do sprožitve alarma.
secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
- Če je časovna razlika negativna, to pomeni, da je treba alarm nastaviti za naslednji dan.
if secondsUntilAlarm < 0:
secondsUntilAlarm += 86400# število sekund v dnevu - Prikažite uporabniku sporočilo, da je bil alarm uspešno nastavljen.
print("Alarm je set!")
natisni("Alarm bo zazvonil ob %s" % datetime.timedelta (seconds=secondsUntilAlarm))
Kako zazvoniti alarm
Če želite zazvoniti alarm, počakajte preostale sekunde, preden natisnete "Wake up!" sporočilo uporabniku.
- Uporabite time.sleep, da počakate toliko sekund, da se alarm sproži.
čas.spati(secondsUntilAlarm)
- Ko se alarm sproži, uporabniku prikažite sporočilo »Zbudi se«.
natisni("Prstan Prstan... čas, da se zbudiš!")
Kako dodati odštevanje, preden zazvoni budilka
Če želite dodati odštevanje za vsako sekundo, uporabite zanko for, da natisnete sekunde, ki so ostale uporabniku.
- Zamenjajte vrstico time.sleep. Dodajte zanko for za vsako sekundo, dokler se alarm ne oglasi, in uporabniku prikažite preostale sekunde.
za i v območju (0, secondsUntilAlarm):
čas.spati(1)
secondsUntilAlarm -= 1
tiskanje(datetime.timedelta (seconds=secondsUntilAlarm))
Kako zagnati program Budilka
Zaženite skript tako, da se v ukazni vrstici pomaknete do datoteke. Uporabite ukaz python, da zaženete skript in nastavite čas alarma.
- Odprite ukazni poziv ali terminal. Pomaknite se do lokacije vaše datoteke alarm.py. Na primer, če ste svojo datoteko Python shranili na namizje, uporabite cd Desktop.
cd Namizje
- Za zagon skripta Python uporabite ukaz python.
pythonalarm.py
- Nastavite veljaven čas za alarm v obliki [ura: minuta]. Na primer 4:30.
- Alarm se bo nastavil in začel odštevati za vsako sekundo, dokler se alarm ne sproži. Počakajte, da alarm konča odštevanje.
- Ko program konča odštevanje, bo program prikazal sporočilo, da vam pokaže, da alarm zvoni.
Ustvarite preproste programe z uporabo Pythona
Budilka je dobra vaja, s katero lahko izostrite svoje znanje Pythona. Aplikacijo budilke lahko napišete v eno datoteko skripta in jo zaženete z ukazno vrstico. Med izvajanjem bo program od uporabnika zahteval, da vnese veljaven čas za nastavitev alarma.
Ko je alarm nastavljen, izračunajte, koliko sekund boste morali čakati, da se budilka oglasi. Naj program počaka toliko časa, preden prikaže sporočilo uporabniku, ko se sproži alarm.
To vajo alarma lahko ponovno ustvarite tudi v drugih jezikih. Naučite se lahko ustvariti digitalno uro z uporabo HTML, CSS in JavaScript.