Ako vytvoriť program na odpočítavanie v jazyku Python

Tento článok vám ukáže, ako vytvoriť jednoduchý program na odpočítavanie pomocou programovacieho jazyka Python. Toto je dobré cvičenie pre začiatočníkov, ktorí sa chcú naučiť o while-cykloch a moduloch. Aby ste to však pochopili, mali by ste sa už trochu oboznámiť so základnými pojmami jazyka Python, napríklad s premennými.

Musíte mať nainštalovaný aj Python 3. Ak ste tak ešte neurobili, pred pokračovaním postupujte podľa pokynov v časti Ako nainštalovať Python.

Kroky

Otvorte textový editor alebo IDE. V systéme Windows je najjednoduchšie použiť IDLE, ktorý sa inštaluje spolu s jazykom Python.

Otvorte nový súbor. V mnohých textových editoroch to môžete urobiť tak, že prejdete do ponuky File a kliknete na New Window alebo jednoducho stlačíte Ctrl+N.

Importovať čas Modul. Na stránke time obsahuje mnoho funkcií jazyka Python súvisiacich s časom, napríklad získanie aktuálneho času alebo čakanie na určitý čas (to druhé budete potrebovať pre tento program). Ak chcete modul importovať, zadajte:

import time

Definujte funkciu odpočítavania. Funkcii môžete dať ľubovoľný názov, ale zvyčajne by ste mali použiť niečo opisné. V tomto prípade by ste ho mohli pomenovať Countdown(). Pridajte nasledujúci kód:

def countdown(t):

Napíšte cyklus while. Cyklus while opakuje kód, ktorý sa v ňom nachádza, pokiaľ je jeho podmienka pravdivá. V tomto prípade chcete, aby odpočítavanie pokračovalo, kým číslo nedosiahne hodnotu 0. Takže musíte napísať:

    while t > 0:
  • Všimnite si medzery na začiatku riadku. Týmto poviete Pythonu, že tento riadok kódu je súčasťou definície Countdown funkciu, a nie len nejaký kód pod ňou. Môžete použiť ľubovoľný počet medzier, ale rovnaký počet musíte použiť pred každým riadkom, ktorý chcete raz odsadiť.
  • Nasledujúce riadky kódu budete musieť odsadiť dvakrát, pretože sú súčasťou definície funkcie aj súčasťou cyklu while. To sa dosiahne použitím dvojnásobného počtu medzier.

Vypíšte aktuálne číslo. To neznamená, že sa použije tlačiareň, aby sa to dostalo na papier, „tlač“ je slovo, ktoré znamená „zobrazenie na obrazovke“. To vám umožní vidieť, ako ďaleko pokročil odpočet.

        print(t)

Odpočítajte číslo. Urobte to o 1 menej. Toto sa vykonáva pomocou nasledujúceho kódu:

        t = t - 1

Ak sa vám nechce toľko písať, môžete namiesto toho napísať:

        t -= 1

Nechajte program čakať sekundu. V opačnom prípade by sa čísla odpočítavali príliš rýchlo a odpočítavanie by sa skončilo skôr, ako by ste ho stihli prečítať. Na čakanie jednu sekundu použite príkaz sleep funkciu čas modul, ktorý ste predtým importovali:

        čas.sleep(1)

Urobte niečo, keď odpočítavanie dosiahne nulu. Ak chcete vypísať „BLAST OFF!“ Keď odpočítavanie dosiahne nulu, pridajte tento riadok:

    print("BLAST OFF!")
  • Všimnite si, že tento riadok je len odsadený raz. Je to preto, že už nie je súčasťou cyklu while. Tento kód sa spustí až po skončení cyklu while.

Spýtajte sa používateľa, od ktorého čísla má začať odpočítavanie. To poskytne vášmu programu určitú flexibilitu, namiesto toho, aby ste počítali vždy od rovnakého čísla.

  • Vypíšte používateľovi otázku. Musia vedieť, čo majú zadať.
    print("Koľko sekúnd odpočítavať? Zadajte celé číslo:")
    
  • Získajte odpoveď. Uložiť odpoveď do premennej, aby ste s ňou mohli neskôr niečo urobiť.
    seconds = input()
    
  • Kým odpoveď používateľa nie je celé číslo, požiadajte používateľa o ďalšie celé číslo. Môžete to urobiť pomocou cyklu while. Ak je prvá odpoveď už celé číslo, program nevstúpi do slučky a len pokračuje ďalším kódom.
    while nie seconds.isdigit():
    print("To nebolo celé číslo! Zadajte celé číslo:")
    seconds = input()
    
  • Teraz si môžete byť istí, že používateľ zadal celé číslo. Stále je však uložený vo vnútri reťazca (input() vždy vráti reťazec, pretože nemôže vedieť, či používateľ zadá text alebo čísla). Musíte ho previesť na celé číslo:
    seconds = int(seconds)
    

    Ak by ste sa pokúsili previesť reťazec, ktorého obsah nie je celé číslo, na celé číslo, dostali by ste chybu. To je dôvod, zatiaľ čo program najprv skontroloval, či je odpoveď skutočne celé číslo.

Vyvolajte funkciu Countdown() funkcia. Predtým ste ju definovali, ale definovanie funkcie nerobí to, čo je v nej napísané. Ak chcete skutočne spustiť kód odpočítavania, zavolajte príkaz odpočítavanie() funkcie s počtom sekúnd, ktoré zadal používateľ:

Odpočítavanie(sekúnd)
  • Skontrolujte hotový kód. Malo by to vyzerať takto:

    import time
    def countdown(t):
    while t > 0:
    print(t)
    t -= 1
    čas.sleep(1)
    print("BLAST OFF!")
    print("Koľko sekúnd odpočítavať? Zadajte celé číslo:")
    seconds = input()
    while nie sekundy.isdigit():
    print("To nebolo celé číslo! Zadajte celé číslo:")
    sekundy = vstup()
    seconds = int(seconds)
    countdown(seconds)
    
    • Prázdne riadky sú tu len preto, aby sa kód ľahšie čítal. Nie sú potrebné a Python ich vlastne ignoruje.
    • Môžete napísať t = t - 1 namiesto t -= 1 Ak chcete.