Cum se face un program de numărătoare inversă în Python

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

  1. 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. 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. 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. 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. 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.
  6. 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. 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. 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ția
        while   t   >   0  :  
    modul pe care l-ați importat anterior:
        print  (  t  )  
  9. 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. 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.
  11. 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ți
       seconds   =   int  (  seconds  )  
    funcție cu numărul de secunde introdus de utilizator:
       countdown  (  seconds  )  
  12. 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.
    Publicitate

Î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 ()
Întrebări fără răspuns
  • 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?
  • Cât de bine pot învăța python în 30 de zile?
  • Ce se întâmplă dacă vreau să fie o interfață grafică?
Pune o întrebare 200 de caractere rămase Include adresa ta de e-mail pentru a primi un mesaj la răspunsul la această întrebare. Trimite
Publicitate

sfaturi

Trimiteți un sfat Toate trimiterile de sfaturi sunt examinate cu atenție înainte de a fi publicate. Vă mulțumim că ați trimis un sfat pentru revizuire!

Probleme Frecvente

Doriți să vizualizați unul dintre cele mai bune serii de animație existente? Iată cum să vizionați Star Wars: The Clone Wars online chiar acum.

Somdev Devvarman s-a uitat înapoi la cel mai memorabil meci din cariera sa, împotriva lui Rafael Nadal din 2011. Novak Djokovic i-a spus lui Devvarman că poate să-l învingă pe Nadal și a continuat să respingă spatele spaniolului drept o datorie.



Tim Henman crede că, deși performanțele lui Roger Federer s-au îmbunătățit de la victoria din primul tur față de Adrian Mannarino, elvețianul rămâne în continuare o umbră a fostului său om cuceritor.