Acest articol vă va arăta cum să creați un program simplu de numărătoare inversă cu limbajul de programare Python. Acesta este un exercițiu bun pentru un începător care dorește să învețe despre bucle și module de timp. Cu toate acestea, ar trebui să aveți deja o anumită familiaritate cu conceptele de bază Python, cum ar fi variabilele, pentru ao înțelege.
banderola pentru dureri de cot
De asemenea, trebuie să aveți instalat Python 3. Dacă nu ați făcut-o încă, înainte de a continua, urmați instrucțiunile dinCum se instalează Python.
Pași
- unu Deschideți editorul de text sau IDE. Pe Windows, cea mai ușoară opțiune este să utilizați IDLE, care este instalat împreună cu Python.
- 2 Deschideți un fișier nou. În mulți editori de text, puteți face acest lucru accesând meniul fișierului și făcând clic pe fereastră nouă sau doar apăsând Ctrl + N .
- 3 Importați
time
modul.time
conține multe funcții Python legate de timp, de exemplu obținerea timpului curent sau așteptarea unei perioade de timp specificate (acesta din urmă va fi necesar pentru acest program). Pentru a importa modulul, tastați:countdown
- 4 Definiți o funcție de numărătoare inversă. Puteți da funcției orice nume doriți, dar de obicei ar trebui să utilizați ceva descriptiv. În acest caz, l-ați putea numi countdown (). Adăugați următorul cod:
sleep
- 5 Scrieți o buclă de timp. O buclă în timp ce repetă codul din interior, atâta timp cât starea sa este adevărată. În acest caz, doriți ca numărătoarea inversă să continue până când numărul ajunge la 0. Deci, trebuie să scrieți:
time
- Observați spațiile de la începutul liniei. Acestea spun Python că această linie de cod face parte din definiția
input()
funcție, și nu doar un cod sub aceasta. Puteți utiliza orice număr de spații, dar trebuie să utilizați aceeași cantitate înainte de orice linie pe care doriți să o indentați o singură dată. - Va trebui să indentați următoarele linii de cod de două ori, deoarece ambele fac parte din definiția funcției și fac parte din bucla while. Acest lucru se face folosind de două ori mai multe spații.
- Observați spațiile de la începutul liniei. Acestea spun Python că această linie de cod face parte din definiția
- 6 Imprimați numărul curent. Aceasta nu înseamnă utilizarea unei imprimante pentru a o obține pe hârtie, „imprimare” este un cuvânt care înseamnă „afișare pe ecran”. Acest lucru vă va permite să vedeți cât de departe a progresat numărătoarea inversă.
countdown()
- 7 Numărătoarea inversă a numărului. Faceți-o cu 1 mai puțin. Acest lucru se face cu următorul cod:
countdown()
Alternativ, dacă nu doriți să tastați atât de mult, puteți scrie în schimb:import time
- 8 Faceți programul să aștepte o secundă. În caz contrar, ar fi numărătoarea inversă a numerelor prea repede, iar numărătoarea inversă ar fi terminată înainte de a o putea citi. Pentru a aștepta o secundă, utilizați
def countdown ( t ):
funcțiawhile t > 0 :
modul pe care l-ați importat anterior:print ( t )
- 9 Faceți ceva când numărătoarea inversă ajunge la zero. Pentru a imprima „BLAST OFF!” când numărătoarea inversă ajunge la zero, adăugați această linie:
t = t - 1
- Rețineți că această linie este doar indentată o singura data . Acest lucru se datorează faptului că nu mai face parte din bucla while. Acest cod se execută numai după terminarea buclei în timp ce.
- 10 Întrebați utilizatorul de la ce număr să înceapă numărătoarea inversă. Acest lucru va oferi programului dvs. o anumită flexibilitate, în loc să numărați întotdeauna din același număr.
- Imprimați întrebarea către utilizator. Ei trebuie să știe în ce ar trebui să intre.
t -= 1
- Obține răspunsul. Stocați răspunsul într-o variabilă, astfel încât să puteți face ceva cu el mai târziu.
time . sleep ( 1 )
- În timp ce răspunsul utilizatorului nu este un număr întreg, cereți utilizatorului un alt număr întreg. Puteți face acest lucru cu o buclă de timp. Dacă primul răspuns este deja întreg, programul nu va intra în buclă și va continua cu următorul cod.
print ( 'BLAST OFF!' )
- Acum puteți fi sigur că utilizatorul a introdus un număr întreg. Cu toate acestea, este încă stocat într-un șir (
print ( 'How many seconds to count down? Enter an integer:' )
returnează întotdeauna un șir, deoarece nu poate ști dacă utilizatorul va introduce text sau numere). Trebuie să-l convertiți într-un număr întreg:seconds = input ()
Dacă ați fi încercat să convertiți un șir al cărui conținut nu este un număr întreg într-un număr întreg, ați primi o eroare. Acesta este motivul în timp ce programul a verificat dacă răspunsul a fost de fapt un număr întreg mai întâi.
- Imprimați întrebarea către utilizator. Ei trebuie să știe în ce ar trebui să intre.
- unsprezece Sunați la
while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input ()
funcţie. Ați definit-o anterior, dar definirea unei funcții nu face ceea ce este scris în ea. Pentru a rula efectiv codul de numărătoare inversă, apelațiseconds = int ( seconds )
funcție cu numărul de secunde introdus de utilizator:countdown ( seconds )
- 12 Verificați codul finalizat. Ar trebui să arate astfel:
import time def countdown ( t ): while t > 0 : print ( t ) t -= 1 time . sleep ( 1 ) print ( 'BLAST OFF!' ) print ( 'How many seconds to count down? Enter an integer:' ) seconds = input () while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input () seconds = int ( seconds ) countdown ( seconds )
- Liniile goale sunt doar acolo pentru a ușura citirea codului. Nu sunt necesare, iar Python le ignoră de fapt.
- Puteți scrie t = t - 1 în loc de t - = 1 dacă preferați.
Întrebări și răspunsuri ale comunității
Căutare Adăugați o întrebare nouă- Întrebare Cum pot să tipăresc în fiecare secundă, mai degrabă decât să o imprim toate pe o dată? Utilizați funcția time.sleep (x). Permite programului să se întrerupă timp de x secunde. După fiecare declarație de tipărire, introduceți time.sleep (1).
- Întrebare Cum pot face ca fontul să fie mai mare în Python pe un Mac? În shell-ul Python, faceți clic pe Opțiuni, Configurare, Repaus. De acolo, puteți modifica dimensiunea fontului.
- Întrebare De ce aveți modulul „timp” dacă nu este folosit niciodată? Dacă scrieți un program pentru, să zicem, un robot și aveți comenzile servo în milisecunde, atunci acesta va utiliza modulul de timp pentru a trimite semnalul electric pentru timpul potrivit.
- Întrebare Primesc în continuare următoarea eroare: „se aștepta un blocaj indentat”. Ce am făcut greșit? Trebuie să apăsați tasta „Tab” pentru a indenta, deci dacă ați face o buclă „dacă”. ați face: dacă a = b: print („Indentarea este spațiul dinaintea imprimării”)
- Întrebare Vreau să imprim ora pe ecranul video. Ce ar trebuii să fac? Presupun că vă referiți la fereastra Python Turtle Graphics. Dacă sunt corect, ar trebui să utilizați funcția 'write ()' în loc de 'print ()'. Apoi, va trebui să adăugați „clear ()” deoarece „write ()” nu schimbă automat liniile. Altfel ai putea muta poziția broaștei țestoase. Pentru a utiliza funcția „write ()”, trebuie să adăugați și „din importul de broaște țestoase *”.
- Întrebare: folosesc LiClipse și la încărcarea codului, acesta se încarcă, dar nu se întâmplă nimic. Indentarea este în regulă și singurul lucru pe care l-am schimbat este schimbarea variabilei n în a. Verificați dacă există erori de sintaxă, cel mai frecvent un punct și virgulă la sfârșitul tuturor fazelor necesare și asigurați-vă că sistemul dvs. de operare, driverele și Python sunt toate cele mai recente actualizări. De asemenea, poate fi util să verificați firewall-ul și să vedeți dacă blochează interfața.
- Întrebare Cum pot opri sau anula numărătoarea inversă? Prin utilizarea cuvântului cheie „pauză”. De exemplu, dacă doriți să inițiați o numărătoare inversă, dar doriți să o opriți pe jumătate, ați putea încerca așa ceva: i = 10 în timp ce i<10: print(i) i -= 1 if i == 5 break print('done')
- Întrebare Cum creez un cronometru care produce un număr aleatoriu după o anumită perioadă de timp în Python? Primul import aleatoriu. Apoi puteți adăuga această linie după codul: random.choice (1,2,3,4,5,6,7,8,9).
- Întrebare Cum pot rula un temporizator de fundal într-un test? Un invizibil Acest lucru este dificil de realizat în Python. Ar trebui să utilizați threading pentru a realiza acest lucru: def laughing: while True: print ('Haha') thread1 = threading (laughing) thread1.start ()
- Ce se întâmplă dacă vreau să numere înapoi de la zile la un anumit fus orar? E. I. În fiecare vineri de la 17:00 utc + 1 până luni 17:00 utc + 1? Răspuns
- Cât de bine pot învăța python în 30 de zile? Răspuns
- Ce se întâmplă dacă vreau să fie o interfață grafică? Răspuns
Publicitate