Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius.
Jei esate Python pradedantysis, šis paprastas žadintuvas yra puiki praktinė įžanga.
Yra daug pratimų, kuriuos galite naudoti norėdami sustiprinti savo Python įgūdžius. Vienas iš šių pratimų yra žadintuvas, kurį galite įrašyti kaip vieną scenarijaus failą. Taip pat galite jį paleisti naudodami komandų eilutę.
Žadintuvo scenarijuje vartotojas turi nustatyti laiką, kada norėtų, kad suskambėtų žadintuvas. Python scenarijus tada parodys vartotojui pranešimą „Pabusti“, kai suskambės žadintuvas.
Taip pat galite pridėti atgalinį skaičiavimą, kad parodytumėte vartotojui, kiek laiko jie turi laukti, kol suskambės žadintuvas.
Kaip nustatyti žadintuvą
Sukurkite Python scenarijų ir pridėkite pirmuosius išspausdintus teiginius, kad paklaustumėte vartotojo, kada jis norėtų nustatyti aliarmą. Jei nesate susipažinę su kai kuriomis Python sintaksėmis, galite pažvelgti į kai kurias
pagrindiniai python pavyzdžiai padėti suprasti pagrindus.- Sukurkite naują failą ir jį iškvieskite signalizacija.py.
- Atidarykite Python scenarijų naudodami bet kurį teksto rengyklę, pvz., Notepad ++.
- Failo viršuje importuokite datos ir laiko modulius. Programa juos naudos apskaičiuodama, kiek laiko reikia laukti, kol suskambės žadintuvas. Tu gali naudoti Python laiko modulis atidėti vykdymą, be kitų veiksmų.
importuoti data ir laikas
importuoti laikas - Pridėkite trumpą ciklą. Nors ciklo viduje paprašykite vartotojo įvesti tinkamą žadintuvo laiką formatu [valanda: minutė]. Kai vartotojas įves neteisingą numerį, ciklas bus kartojamas.
neteisingas = Tiesa
kol(negaliojantis):
# Gaukite tinkamą vartotojo įvestį žadintuvo laikui
spausdinti ("Nustatyti galiojantis laikasdėl žadintuvas (pvz. 06:30)")
userInput = input(">>") - Nors ciklo viduje konvertuokite vartotojo įvestį į masyvą, skiriantį valandos reikšmę nuo minutės reikšmės.
# Pavyzdžiui, tai konvertuos 6:30 į [6, 30] masyvą.
alarmTime = [int (n) n, userInput.split(":")] - Vis dar yra while ciklo viduje, patvirtinkite ir valandų, ir minučių reikšmes. Valanda turi būti skaičius nuo 0 iki 23, o minutė – skaičius nuo 0 iki 59. Jei šios sąlygos nebus įvykdytos, neteisinga loginė vertė sukels while-ciklo kartojimą ir paprašys vartotojo įvesti naują reikšmę.
# Patvirtinkite įvestą laiką nuo 0 iki 24 (valandų) arba nuo 0 iki 60 (minučių)
jei pavojaus laikas[0] >= 24 arba signalo laikas[0] < 0:
neteisingas = Tiesa
elif alarmTime[1] >= 60 arba signalo laikas[1] < 0:
neteisingas = Tiesa
Kitas:
neteisingas = Netiesa
Kaip suskaičiuoti, kiek laiko reikia laukti, kol išsijungs žadintuvas
Palaukite, kol suskambės žadintuvas, skaičiuodami, kiek sekundžių programa turės laukti.
- Po while kilpa konvertuokite žadintuvo laiką į sekundę, kuri yra dienos metu. Pažymėtina, kad per dieną yra 86 400 sekundžių. Jei vartotojas įveda 00:01 (viena minutė po vidurnakčio), žadintuvo laikas sekundėmis bus 60. Jei vartotojas įveda 23:59, žadintuvo laikas sekundėmis bus 86340.
# Sekundžių skaičius per valandą, minutę ir sekundę
seconds_hms = [3600, 60, 1]
# Konvertuokite žadintuvo laiką į sekundes
alarmSeconds = suma ([a*b a, b zip (seconds_hms[:len (alarmTime)], alarmTime)]) - Norėdami nustatyti esamą laiką, naudokite funkciją datetime.now(). Konvertuoti dabartinį paros laiką sekundėmis.
dabar = datatime.datetime.now()
currentTimeInSeconds = suma ([a*b a, b zip (sekundės_hms, [dabar.valanda, dabar.minutė, dabar.sekundė])]) - Apskaičiuokite sekundžių skaičių, kol suskambės žadintuvas.
secondsUntilAlarm = alarmSeconds – currentTimeInSeconds
- Jei laikas skiriasi neigiamas, tai reiškia, kad žadintuvą reikia nustatyti kitai dienai.
if secondsIki pavojaus signalo < 0:
secondsUntilAlarm += 86400# sekundžių skaičius per dieną - Rodyti pranešimą vartotojui, kad jis žinotų, kad aliarmas sėkmingai nustatytas.
print ("Aliarmas yra rinkinys!")
spausdinti ("Žadintuvas skambės %s" % datetime.timedelta (sekundės = sekundės iki aliarmo))
Kaip skambinti žadintuvu
Norėdami suskambėti žadintuvui, palaukite likusias sekundes prieš išspausdindami pranešimą „Pabusk! pranešimą vartotojui.
- Naudokite time.sleep, kad palaukite tiek sekundžių, kiek reikia, kol žadintuvas suskambės.
laikas.miega(sekundės iki aliarmo)
- Suskambus žadintuvui, vartotojui parodykite pranešimą „Pabusti“.
spausdinti ("Žiedas Žiedas... laikas keltis!")
Kaip pridėti atgalinį skaičiavimą prieš skambant žadintuvui
Norėdami pridėti kiekvienos sekundės atgalinį skaičiavimą, naudokite for kilpą, kad išspausdintumėte naudotojui likusias sekundes.
- Pakeiskite laiką.miego linija. Pridėkite for kilpą kiekvienai sekundei, kol suskambės žadintuvas, ir parodykite vartotojui likusias sekundes.
i diapazone (0, sekundės iki aliarmo):
laikas.miega(1)
secondsUntilAlarm -= 1
spausdinti(datetime.timedelta (sekundės = sekundės iki aliarmo))
Kaip paleisti žadintuvo programą
Vykdykite scenarijų eidami į failą naudodami komandinę eilutę. Naudokite python komandą, kad paleistumėte scenarijų ir nustatytumėte žadintuvo laiką.
- Atidarykite komandų eilutę arba terminalą. Eikite į failo alarm.py vietą. Pavyzdžiui, jei savo Python failą išsaugojote darbalaukyje, naudokite cd Desktop.
cd Darbalaukis
- Norėdami paleisti Python scenarijų, naudokite komandą python.
pitonassignalizacija.py
- Nustatykite tinkamą žadintuvo laiką [valandos: minutės] formatu. Pavyzdžiui, 4:30.
- Žadintuvas nustatys ir pradės skaičiuoti kiekvieną sekundę, kol žadintuvas turi suskambėti. Palaukite, kol žadintuvas baigs skaičiuoti atgal.
- Kai programa baigs atgalinį skaičiavimą, programa parodys pranešimą, rodantį, kad skamba žadintuvas.
Sukurkite paprastas programas naudodami Python
Žadintuvas yra geras pratimas, kurį galite praktikuoti, kad patobulintumėte savo Python įgūdžius. Galite įrašyti žadintuvo programą viename scenarijaus faile ir paleisti ją naudodami komandinę eilutę. Vykdymo metu programa paprašys vartotojo įvesti tinkamą žadintuvo nustatymo laiką.
Nustačius žadintuvą, apskaičiuokite, kiek sekundžių reikės palaukti, kol suskambės žadintuvas. Priverskite programą tiek ilgai laukti, kol vartotojui parodys pranešimą, kai suskamba žadintuvas.
Taip pat galite iš naujo sukurti šį žadintuvo pratimą kitomis kalbomis. Galite sužinoti, kaip sukurti skaitmeninį laikrodį naudojant HTML, CSS ir JavaScript.