Tento článok vám ukáže, ako vytvoriť jednoduchý odpočítavací program s programovacím jazykom Python. Toto je dobré cvičenie pre začiatočníka, ktorý sa chce dozvedieť viac o cykloch smyčiek a moduloch. Aby ste tomu porozumeli, mali by ste už byť oboznámení so základnými konceptmi Pythonu, napríklad s premennými.
rick and morty season 4 epizóda 4 sledujte online
Tiež musíte mať nainštalovaný Python 3. Ak ste to ešte neurobili, postupujte podľa pokynov na stránkeAko nainštalovať Python.
Kroky
- jeden Otvorte textový editor alebo IDE. V systéme Windows je najjednoduchšou voľbou použitie IDLE, ktoré je nainštalované spolu s Pythonom.
- 2 Otvorte nový súbor. V mnohých textových editoroch to môžete urobiť tak, že prejdete do ponuky súborov a kliknete na nové okno alebo iba stlačením Ctrl + N .
- 3 Importujte
time
modul. Thetime
obsahuje veľa funkcií Pythonu týkajúcich sa času, napríklad získanie aktuálneho času alebo čakanie na zadaný čas (toto je to, čo budete pre tento program potrebovať). Ak chcete modul importovať, zadajte:countdown
- 4 Definujte funkciu odpočítavania. Funkcii môžete dať ľubovoľný názov, obvykle by ste však mali použiť niečo popisné. V takom prípade by ste to mohli pomenovať odpočítavanie (). Pridajte nasledujúci kód:
sleep
- 5 Napíš chvíľu. Cyklus while opakuje kód v ňom, pokiaľ je jeho stav pravdivý. V takom prípade chcete, aby odpočítavanie pokračovalo, kým počet nedosiahne 0. Takže musíte napísať:
time
- Všimnite si medzery na začiatku riadku. Týmto hovoria Pythonu, že tento riadok kódu je súčasťou definície
input()
funkcia, a nielen nejaký kód pod ňou. Môžete použiť ľubovoľný počet medzier, ale pred každým riadkom, ktorý chcete raz odsadiť, musíte použiť rovnaké množstvo. - 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 deje tak, že sa použije dvakrát viac medzier.
- Všimnite si medzery na začiatku riadku. Týmto hovoria Pythonu, že tento riadok kódu je súčasťou definície
- 6 Vytlačte si aktuálne číslo. To neznamená, že tlačiareň je určená na tlač na papier. „Tlač“ je slovo, ktoré znamená „zobrazenie na obrazovke“. Takto uvidíte, ako ďaleko odpočítanie pokročilo.
countdown()
- 7 Odpočítajte počet. Nech je to o 1 menej. Toto sa vykonáva pomocou nasledujúceho kódu:
countdown()
Ak nechcete toľko písať, môžete namiesto toho napísať:import time
- 8 Nechajte program chvíľu počkať. V opačnom prípade by sa odpočítavanie čísel stalo príliš rýchle a odpočítavanie by sa skončilo skôr, ako by ste si ho vôbec mohli prečítať. Na chvíľu počkajte pomocou
def countdown ( t ):
funkciawhile t > 0 :
modul, ktorý ste predtým importovali:print ( t )
- 9 Keď odpočítavanie dosiahne nulu, urobte niečo. Ak chcete vytlačiť 'BLAST OFF!' keď odpočítavanie dosiahne nulu, pridajte tento riadok:
t = t - 1
- Upozorňujeme, že tento riadok je iba odsadený raz . Je to tak preto, lebo už nie je súčasťou cyklu while. Tento kód sa spustí až po dokončení cyklu while.
- 10 Spýtajte sa používateľa, z ktorého čísla začne odpočítavanie. To poskytne vášmu programu určitú flexibilitu namiesto toho, aby sa počítalo vždy od rovnakého počtu.
- Vytlačte otázku používateľovi. Potrebujú vedieť, do čoho majú vstúpiť.
t -= 1
- Získajte odpoveď. Odpoveď uložte do premennej, aby ste s ňou mohli neskôr niečo urobiť.
time . sleep ( 1 )
- Aj keď odpoveď používateľa nie je celé číslo, požiadajte používateľa o ďalšie celé číslo. Môžete to urobiť pomocou slučky while. Ak je prvou odpoveďou už celé číslo, program nevstúpi do cyklu a iba pokračuje ďalším kódom.
print ( 'BLAST OFF!' )
- Teraz si môžete byť istí, že používateľ zadal celé číslo. Stále je však uložený vo vnútri reťazca (
print ( 'How many seconds to count down? Enter an integer:' )
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 = input ()
Ak by ste sa pokúsili previesť reťazec, ktorého obsah nie je celé číslo, na celé číslo, vyskytla by sa chyba. To je dôvod, kým program najskôr skontroloval, či odpoveďou bolo vlastne celé číslo.
- Vytlačte otázku používateľovi. Potrebujú vedieť, do čoho majú vstúpiť.
- jedenásť Zavolajte na
while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input ()
funkcia. Predtým ste to definovali, ale definovanie funkcie nerobí to, čo je napísané v nej. Ak chcete skutočne spustiť odpočítavací kód, zavolajteseconds = int ( seconds )
funkcia s počtom sekúnd, ktoré používateľ zadal:countdown ( seconds )
- 12 Skontrolujte svoj hotový kód. Malo by to vyzerať takto:
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 )
- Prázdne riadky sú tam iba kvôli ľahšiemu čítaniu kódu. Nie sú povinné a Python ich v skutočnosti ignoruje.
- Ak chcete, môžete napísať t = t - 1 namiesto t - = 1.
Otázky a odpovede komunity
Vyhľadávanie Pridať novú otázku- Otázka Ako dosiahnem, aby sa tlačila každú sekundu, a nie aby sa tlačila naraz? Použite funkciu time.sleep (x). Umožňuje pozastavenie programu na x sekúnd. Po každom tlačovom výpise vložte time.sleep (1).
- Otázka Ako zväčším písmo v Pythone na počítači Mac? V prostredí Python kliknite na Možnosti, Konfigurovať, Nečinný. Odtiaľ môžete zmeniť veľkosť písma.
- Otázka Prečo mať modul „čas“, ak sa nikdy nepoužíva? Ak píšete program napríklad pre robota a máte servomotory v milisekundách, potom pomocou časového modulu odošle elektrický signál na správny čas.
- Otázka Stále sa zobrazuje nasledujúca chyba: „očakáva sa odsadený blok.“ Čo som urobil zle? Na odsadenie musíte stlačiť kláves „Tab“, takže ak ste robili slučku „if“. urobili by ste: if a = b: print ('Odsadenie je medzera pred tlačou')
- Otázka Chcem vytlačiť čas na obrazovku videa. Čo mám robiť? Predpokladám, že máte na mysli okno Python Turtle Graphics. Ak mám pravdu, mali by ste namiesto 'print ()' použiť funkciu 'write ()'. Potom by ste museli pridať 'clear ()', pretože 'write ()' nezmení riadky automaticky. Inak by ste mohli presunúť pozíciu svojej korytnačky. Ak chcete použiť funkciu 'write ()', musíte tiež pridať 'z importu korytnačky *'.
- Otázka Používam LiClipse a pri načítaní kódu sa načítava, ale nič sa nedeje. Odsadenie je v poriadku a jediné, čo som zmenil, je zmena premennej n na a. Skontrolujte chyby syntaxe, najčastejšie bodkočiarku na konci všetkých požadovaných fáz, a uistite sa, že všetky vaše operačné systémy, ovládače a Python obsahujú najnovšiu aktualizáciu. Môže byť tiež užitočné skontrolovať bránu firewall a zistiť, či neblokuje rozhranie.
- Otázka Ako môžem zastaviť alebo prerušiť odpočítavanie? Použitím kľúčového slova „break“. Napríklad, ak ste chceli spustiť odpočítavanie, ale chceli ste ho v polovici zastaviť, môžete vyskúšať niečo ako toto: i = 10 while i<10: print(i) i -= 1 if i == 5 break print('done')
- Otázka Ako vytvorím časovač, ktorý po uplynutí nastaveného času v Pythone vytvorí náhodné číslo? Prvý import náhodný. Potom môžete tento riadok pridať za kód: random.choice (1,2,3,4,5,6,7,8,9).
- Otázka Ako spustím časovač na pozadí v kvíze? Neviditeľný To je v Pythone ťažké. Mali by ste použiť threading na dosiahnutie tohto cieľa: def smiech: while True: print ('Haha') thread1 = threading (smiech) thread1.start ()
- Čo ak chcem, aby sa odpočítavalo od dní v určitom časovom pásme? E. I. Každý piatok od 17:00 UTC + 1 do pondelka 17:00 UTC + 1? Odpoveď
- Ako najlepšie sa môžem naučiť python za 30 dní? Odpoveď
- Čo ak chcem, aby to bolo GUI? Odpoveď
Reklama