Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat.
Dacă sunteți începător în Python, acest ceas cu alarmă simplu este o introducere practică excelentă.
Există o mulțime de exerciții pe care le puteți folosi pentru a vă consolida abilitățile Python. Unul dintre aceste exerciții este un ceas cu alarmă, pe care îl puteți scrie ca un singur fișier script. De asemenea, îl puteți rula folosind un prompt de comandă.
În scriptul ceasului cu alarmă, utilizatorul trebuie să seteze ora la care ar dori să se declanșeze alarma. Scriptul Python va afișa apoi utilizatorului un mesaj „Trezește-te” atunci când alarma se declanșează.
De asemenea, puteți adăuga o numărătoare inversă pentru a arăta utilizatorului cât timp trebuie să aștepte până se stinge alarma.
Cum se setează alarma
Creați un script Python și adăugați primele declarații tipărite pentru a întreba utilizatorul când ar dori să seteze alarma. Dacă nu sunteți familiarizat cu unele dintre sintaxa Python, puteți să vă uitați la unele
exemple de bază python pentru a vă ajuta să înțelegeți elementele fundamentale.- Creați un fișier nou și apelați-l alarmă.py.
- Deschideți scriptul Python folosind orice editor de text, cum ar fi Notepad++.
- În partea de sus a fișierului, importați atât modulele de dată și oră. Programul le va folosi atunci când calculează cât timp trebuie să aștepte până se declanșează alarma. Poți să folosești Modulul de timp al lui Python pentru a întârzia execuția, printre alte acțiuni.
import datetime
import timp - Adăugați o buclă while. În interiorul buclei while, cereți utilizatorului să introducă o oră de alarmă validă, în formatul [oră: minut]. Bucla while se va repeta dacă utilizatorul introduce un număr nevalid.
invalid = Adevărat
in timp ce(invalid):
# Obțineți o intrare validă de utilizator pentru ora alarmei
imprimare("A stabilit un valabil timppentru alarma (ex. 06:30)")
userInput = input(">>") - În interiorul buclei while, convertiți intrarea utilizatorului într-o matrice care separă valoarea orei de valoarea minutelor.
# De exemplu, aceasta va converti 6:30 într-o matrice de [6, 30].
alarmTime = [int (n) pentru n în userInput.split(":")] - Încă în bucla while, validați atât valorile orei, cât și ale minutelor. Ora ar trebui să fie un număr între 0 și 23, iar minutul ar trebui să fie un număr între 0 și 59. Dacă aceste condiții nu sunt îndeplinite, valoarea booleană nevalidă va face ca bucla while să se repete și va cere utilizatorului să introducă o nouă valoare.
# Validați timpul introdus să fie între 0 și 24 (ore) sau 0 și 60 (minute)
dacă alarmTime[0] >= 24 sau alarmTime[0] < 0:
invalid = Adevărat
elif alarmTime[1] >= 60 sau alarmTime[1] < 0:
invalid = Adevărat
altfel:
invalid = Fals
Cum să numărați cât să așteptați până când alarma se stinge
Așteptați până se declanșează alarma numărând câte secunde va trebui să aștepte programul.
- Sub bucla while, convertiți ora alarmei în secunda în care este în timpul zilei. Pentru referință, există 86400 de secunde într-o zi. Dacă utilizatorul introduce 00:01 (un minut după miezul nopții), ora alarmei în secunde va fi 60. Dacă utilizatorul introduce ora 23:59, ora alarmei în secunde va fi 86340.
# Numărul de secunde într-o oră, minut și secundă
secunde_hms = [3600, 60, 1]
# Convertiți ora alarmei în secunde
alarmSeconds = sum([a*b pentru a, b în zip (seconds_hms[:len (alarmTime)], alarmTime)]) - Utilizați funcția datetime.now() pentru a determina ora curentă. Convertiți ora curentă a zilei în secunde.
acum = datetime.datetime.now()
currentTimeInSeconds = sum([a*b pentru a, b în zip (seconds_hms, [now.hour, now.minute, now.second])]) - Calculați numărul de secunde până la stingerea alarmei.
secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
- Dacă ora diferită este negativă, înseamnă că alarma trebuie setată pentru ziua următoare.
dacă secundeUntilAlarm < 0:
secundeUntilAlarm += 86400# de secunde într-o zi - Afișați un mesaj utilizatorului pentru a-i anunța că alarma a fost setată cu succes.
print("Alarmă este a stabilit!")
imprimare("Alarma va suna la %s" % datetime.timedelta (seconds=secondsUntilAlarm))
Cum să suni alarma
Pentru a suna alarma, așteptați secundele rămase înainte de a imprima mesajul „Trezește-te!” mesaj către utilizator.
- Utilizați time.sleep pentru a aștepta cantitatea de secunde necesară până când alarma trebuie să se declanșeze.
timp.dormi(secundeUntilAlarm)
- Afișați mesajul „Trezește-te” utilizatorului când alarma se stinge.
imprimare("Inel inel... timpul să te trezești!")
Cum să adăugați o numărătoare inversă înainte de a suna alarma
Pentru a adăuga o numărătoare inversă pentru fiecare secundă, utilizați o buclă for pentru a imprima secundele rămase utilizatorului.
- Înlocuiți timpul.linia de somn. Adăugați o buclă for pentru fiecare secundă până când alarma se stinge și afișați secundele rămase utilizatorului.
pentru i în interval (0, secundeUntilAlarm):
timp.dormi(1)
secundeUntilAlarm -= 1
imprimare(datetime.timedelta (seconds=secondsUntilAlarm))
Cum să rulați programul cu ceas cu alarmă
Rulați scriptul navigând la fișier folosind linia de comandă. Utilizați comanda python pentru a porni scriptul și setați o oră de alarmă.
- Deschideți un prompt de comandă sau un terminal. Navigați la locația fișierului alarm.py. De exemplu, dacă ați stocat fișierul Python pe Desktop, utilizați cd Desktop.
CD Desktop
- Utilizați comanda python pentru a rula scriptul Python.
pitonalarma.py
- Setați o oră validă pentru alarmă, în formatul [oră: minut]. De exemplu, 4:30.
- Alarma va seta și va începe o numărătoare inversă pentru fiecare secundă până când alarma trebuie să se declanșeze. Așteptați ca alarma să termine numărătoarea inversă.
- Odată ce programul a încheiat numărătoarea inversă, programul va afișa un mesaj pentru a vă arăta că alarma sună.
Creați programe simple folosind Python
Un ceas cu alarmă este un exercițiu bun pe care îl puteți exersa pentru a vă ascuți abilitățile Python. Puteți scrie aplicația ceas cu alarmă într-un singur fișier script și o puteți rula folosind o linie de comandă. În timpul rulării, programul va cere utilizatorului să introducă o oră valabilă pentru a seta alarma.
După ce alarma este setată, calculați câte secunde va trebui să așteptați până se stinge ceasul deșteptător. Faceți programul să aștepte atât de mult înainte de a afișa un mesaj utilizatorului când alarma se stinge.
Puteți, de asemenea, să recreați acest exercițiu de alarmă în alte limbi. Puteți învăța cum să creați un ceas digital folosind HTML, CSS și JavaScript.