Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju.
Ako ste početnik u Pythonu, ova jednostavna budilica izvrstan je praktičan uvod.
Postoji mnogo vježbi pomoću kojih možete ojačati svoje vještine Pythona. Jedna od tih vježbi je budilica, koju možete napisati kao jednu datoteku skripte. Možete ga pokrenuti i pomoću naredbenog retka.
U skripti budilice korisnik treba postaviti vrijeme kada želi da se alarm oglasi. Python skripta će tada korisniku prikazati poruku "Probudi se" kada se alarm oglasi.
Također možete dodati odbrojavanje kako biste korisniku pokazali koliko dugo mora čekati dok se alarm ne oglasi.
Kako postaviti alarm
Napravite Python skriptu i dodajte prve ispisane izjave kako biste pitali korisnika kada želi postaviti alarm. Ako niste upoznati s nekim od Python sintakse, možete pogledati neke osnovni primjeri pythona kako bismo vam pomogli razumjeti osnove.
- Napravite novu datoteku i pozovite je alarm.py.
- Otvorite Python skriptu koristeći bilo koji uređivač teksta kao što je Notepad++.
- Na vrhu datoteke uvezite i modul datuma i vremena. Program će ih koristiti kada izračunava koliko dugo treba čekati dok se alarm ne oglasi. Možeš koristiti Pythonov vremenski modul odgoditi izvršenje, između ostalih radnji.
uvoz Datum vrijeme
uvoz vrijeme - Dodajte while petlju. Unutar while petlje, tražite od korisnika da unese važeće vrijeme alarma, u formatu [sat: minuta]. Medtem će se petlja ponoviti ako korisnik unese nevažeći broj.
nevažeći = Pravi
dok(nevažeće):
# Dobijte važeći korisnički unos za vrijeme alarma
ispis("set valjano vrijemeza alarm (npr. 06:30)")
korisnički unos = unos(">>") - Unutar while petlje, pretvorite korisnički unos u niz koji odvaja vrijednost sata od vrijednosti minuta.
# Na primjer, ovo će pretvoriti 6:30 u niz od [6, 30].
vrijeme alarma = [int (n) za n u userInput.split(":")] - Još uvijek unutar while petlje, provjerite vrijednosti i sata i minute. Sat bi trebao biti broj između 0 i 23, a minuta bi trebala biti broj između 0 i 59. Ako ovi uvjeti nisu zadovoljeni, nevažeća booleova vrijednost uzrokovat će ponavljanje while petlje i tražiti od korisnika da unese novu vrijednost.
# Potvrdite da je uneseno vrijeme između 0 i 24 (sati) ili 0 i 60 (minute)
ako vrijeme alarma[0] >= 24 ili vrijeme alarma[0] < 0:
nevažeći = Pravi
elif vrijeme alarma[1] >= 60 ili vrijeme alarma[1] < 0:
nevažeći = Pravi
drugo:
nevažeći = lažno
Kako izbrojati koliko dugo treba čekati dok se alarm ne oglasi
Pričekajte dok se alarm ne oglasi brojeći koliko će sekundi program morati čekati.
- Ispod while petlje, pretvorite vrijeme alarma u sekundu tijekom dana. Za referencu, dan ima 86400 sekundi. Ako korisnik unese 00:01 (jedna minuta nakon ponoći), vrijeme alarma u sekundama bit će 60. Ako korisnik unese 23:59, vrijeme alarma u sekundama bit će 86340.
# Broj sekundi u satu, minuti i sekundi
sekunde_hms = [3600, 60, 1]
# Pretvorite vrijeme alarma u sekunde
alarmSeconds = sum([a*b za a, b u zip-u (seconds_hms[:len (alarmTime)], alarmTime)]) - Koristite funkciju datetime.now() za određivanje trenutnog vremena. Pretvorite trenutno doba dana u sekunde.
sad = datumvrijeme.datumvrijeme.sada()
currentTimeInSeconds = sum([a*b za a, b u zip-u (seconds_hms, [now.hour, now.minute, now.second])]) - Izračunajte broj sekundi dok se alarm ne oglasi.
secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
- Ako je različito vrijeme negativno, to znači da alarm treba postaviti za sljedeći dan.
if secondsUntilAlarm < 0:
secondsUntilAlarm += 86400# broj sekundi u danu - Prikažite poruku korisniku kako biste ga obavijestili da je alarm uspješno postavljen.
print("Alarm je skup!")
ispis("Alarm će zazvoniti u %s" % datetime.timedelta (seconds=secondsUntilAlarm))
Kako zazvoniti alarm
Za uključivanje alarma pričekajte preostale sekunde prije ispisa "Probudi se!" poruka korisniku.
- Upotrijebite time.sleep da pričekate onoliko sekundi koliko je potrebno da se alarm oglasi.
vrijeme.spavati(secondsUntilAlarm)
- Prikažite korisniku poruku "Probudi se" kada se alarm oglasi.
ispis("Prsten Prsten... vrijeme za buđenje!")
Kako dodati odbrojavanje prije nego što alarm zazvoni
Da biste dodali odbrojavanje za svaku sekundu, upotrijebite for petlju za ispis sekundi preostalih korisniku.
- Zamijenite liniju vremena.sleep. Dodajte for petlju za svaku sekundu dok se alarm ne oglasi i prikažite korisniku preostale sekunde.
za i u rasponu (0, secondsUntilAlarm):
vrijeme.spavati(1)
sekunde do alarma -= 1
ispisati(datetime.timedelta (seconds=secondsUntilAlarm))
Kako pokrenuti program za budilicu
Pokrenite skriptu navigacijom do datoteke pomoću naredbenog retka. Upotrijebite naredbu python za pokretanje skripte i postavite vrijeme alarma.
- Otvorite naredbeni redak ili terminal. Dođite do lokacije svoje datoteke alarm.py. Na primjer, ako ste svoju Python datoteku pohranili na radnu površinu, koristite cd radnu površinu.
CD Radna površina
- Koristite naredbu python za pokretanje Python skripte.
pitonalarm.py
- Postavite valjano vrijeme za alarm, u formatu [sat: minuta]. Na primjer, 4:30.
- Alarm će se postaviti i započeti odbrojavanje za svaku sekundu dok se alarm ne bude trebao oglasiti. Pričekajte da alarm završi odbrojavanje.
- Nakon što program završi s odbrojavanjem, program će prikazati poruku da vam pokaže da alarm zvoni.
Stvorite jednostavne programe koristeći Python
Budilica je dobra vježba koju možete vježbati kako biste izoštrili svoje vještine Pythona. Aplikaciju budilice možete napisati u jednoj datoteci skripte i pokrenuti je pomoću naredbenog retka. Tijekom izvođenja program će od korisnika tražiti da unese valjano vrijeme za postavljanje alarma.
Nakon što je alarm postavljen, izračunajte koliko sekundi ćete morati čekati dok se budilica ne oglasi. Neka program čeka toliko dugo prije nego što prikaže poruku korisniku kada se alarm oglasi.
Ovu vježbu alarma možete ponovno izraditi i na drugim jezicima. Možete naučiti kako izraditi digitalni sat koristeći HTML, CSS i JavaScript.