Ako vytvoriť program odpočítavania v Pythone?
Ak chcete skutočne spustiť kód odpočítavania, zavolajte funkciu odpočítavania () s počtom sekúnd, ktoré užívateľ zadal: odpočítavanie (sekundy).
Tento článok vám ukáže, ako vytvoriť jednoduchý odpočítavací program v programovacom jazyku Python. Je to dobré cvičenie pre začiatočníkov, ktorí sa chcú dozvedieť o slučkách a moduloch while. Už by ste však mali mať istú znalosť základných konceptov Pythonu, ako sú premenné, aby ste tomu porozumeli.
Tiež musíte mať nainštalovaný Python 3. Ak ste to ešte neurobili, skôr ako budete pokračovať, postupujte podľa pokynov v článku Ako nainštalovať python.
- 1Otvorte textový editor alebo IDE. V systéme Windows je najľahšou možnosťou použiť IDLE, ktorý je nainštalovaný spolu s Pythonom.
- 2Otvorte 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 jednoducho stlačíte Ctrl+ N.
- 3Importujte
timemodul.timeObsahuje mnoho Python funkcie súvisiace času, napríklad pri získavaní aktuálneho času alebo čakajúce na určitú dobu (druhá je to, čo budete potrebovať pre tento program). Ak chcete importovať modul, zadajte:čas importu
Tento článok vám ukáže, ako vytvoriť jednoduchý odpočítavací program v programovacom jazyku Python. - 4Definujte funkciu odpočítavania. Funkcii môžete dať ľubovoľné meno, ale zvyčajne by ste mali použiť niečo popisné. V tomto prípade by ste to mohli pomenovať countdown(). Pridajte nasledujúci kód:
def odpočítavanie (t):
- 5Napíšte krátku slučku. Slučka while opakuje kód v ňom, pokiaľ je jeho stav pravdivý. V takom prípade chcete, aby odpočítavanie pokračovalo, kým číslo nedosiahne 0. Musíte teda napísať:
kým t> 0:
- Všimnite si medzery na začiatku riadku. Tieto informujú Python, že tento riadok kódu je súčasťou definície
countdownfunkcie, a nie iba niektorým kódom pod ním. 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 toľko medzier.
- Všimnite si medzery na začiatku riadku. Tieto informujú Python, že tento riadok kódu je súčasťou definície
- 6Vytlačte aktuálne číslo. To neznamená použiť tlačiareň na papier, „tlač“ je slovo, ktoré znamená „zobrazenie na obrazovke“. Vďaka tomu uvidíte, ako ďaleko odpočítavanie pokročilo.
tlač (t)
- 7Odpočítajte číslo. Urobte to o 1 menej. To sa vykonáva pomocou nasledujúceho kódu:
t = t - 1
Prípadne, ak sa vám nechce toľko písať, môžete namiesto toho napísať:t -= 1
- 8Nechajte program chvíľu počkať. V opačnom prípade by bolo odpočítavanie čísiel príliš rýchle a odpočítavanie by bolo dokončené skôr, ako by ste si ho mohli prečítať. Počkajte chvíľu, použite
sleepfunkciutimemodulu, ktorý ste predtým importovali:time.sleep (1)
- 9Urobte niečo, keď odpočítavanie dosiahne nulu. Ak chcete vytlačiť „VYPNUTÉ!“ keď odpočítavanie dosiahne nulu, pridajte tento riadok:
vytlačiť („BLAST VYPNUTÉ!“)
- Tento riadok je odsadený iba raz. Dôvodom je, že už nie je súčasťou cyklu while. Tento kód sa spustí až po dokončení cyklu while.
Tieto informujú Python, že tento riadok kódu je súčasťou definície funkcie odpočítavania, a nie iba niektorým kódom pod ním. - 10Opýtajte sa používateľa, od ktorého čísla má začať odpočítavanie. Vášmu programu to poskytne určitú flexibilitu, namiesto toho, aby vždy počítal od rovnakého čísla.
- Vytlačte otázku používateľovi. Potrebujú vedieť, do čoho majú vstúpiť.
vytlačiť („Koľko sekúnd odpočítavať? Zadajte celé číslo:“)
- Získajte odpoveď. Odpoveď uložte do premennej, aby ste s ňou mohli neskôr niečo urobiť.
sekundy = vstup ()
- Aj keď odpoveď používateľa nie je celé číslo, požiadajte ho o ďalšie číslo. Môžete to urobiť pomocou cyklu while. Ak je prvá odpoveď už celé číslo, program nevstúpi do slučky a bude pokračovať ďalším kódom.
keď nie sekundy.isdigit (): print ("To nebolo celé číslo! Zadajte celé číslo:") sekundy = vstup () - Teraz si môžete byť istí, že používateľ zadal celé číslo. Je však stále uložený v reťazci (
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, zobrazila by sa chyba. To je dôvod, prečo program najskôr skontroloval, či odpoveď bola skutočne celé číslo.
- Vytlačte otázku používateľovi. Potrebujú vedieť, do čoho majú vstúpiť.
- 11Zavolajte
countdown()funkciu. Predtým ste to definovali, ale definícia funkcie nerobí to, čo je v nej napísané. Ak chcete skutočne spustiť odpočítavanie kód, volanie nacountdown()funkciu s počtom sekúnd, po ktorej užívateľ zadaných:odpočítavanie (sekundy)
- 12Skontrolujte svoj dokončený kód. Malo by to vyzerať takto:
doba odpočítavania času importu (t): pričom t> 0: tlač (t) t -= 1 čas. spánok (1) vytlačiť („BLAST VYPNUTÉ!“) vytlačiť („Koľko sekúnd odpočítavať? Zadajte celé číslo:“) seconds = input () while not secondss.isdigit (): print ("This was an integer! Enter an integer:") seconds = input () seconds = int (seconds) countdown (seconds)- Prázdne riadky slúžia iba na uľahčenie čítania kódu. Nie sú povinné a Python ich v skutočnosti ignoruje.
- Ak chcete, môžete t = t - 1 namiesto toho písať t -= 1.
Prečítajte si tiež: Ako vytvoriť kocku v OpenGL?
Otázky a odpovede
- Používam LiClipse a pri načítaní kódu sa načítava, ale nič sa nedeje. Odsadenie je v poriadku a jediná vec, ktorú som zmenil, je zmena premennej n na a.Skontrolujte chyby syntaxe, najčastejšie dvojbodku na konci všetkých požadovaných fáz, a uistite sa, že váš operačný systém, ovládače a Python sú najnovšou aktualizáciou. Tiež môže byť užitočné skontrolovať bránu firewall a zistiť, či neblokuje rozhranie.
- Ako vytvorím časovač, ktorý po stanovenom čase v Pythone vytvorí náhodné číslo?Prvý import náhodný. Tento riadok potom môžete pridať za kód: random.choice (12,34,56,78,9).
- Ako môžem zastaviť alebo prerušiť odpočítavanie?Použitím kľúčového slova „prestávka“. Ak ste napríklad chceli začať odpočítavanie, ale chceli ste ho zastaviť v polovici, môžete to skúsiť takto: i = 10, kým i <10: print (i) i -= 1, ak i == 5 prerušená tlač (" hotový")
- Ako prinútim tlačiť každú sekundu, a nie celú tlač naraz?Použite funkciu time.sleep (x). Umožňuje programu pozastaviť sa na x sekúnd. Za každým tlačovým výpisom zadajte time.sleep (1).
- Stále sa mi zobrazuje nasledujúca chyba: „Očakávaný odsadený blok“. Čo som urobil zle?Na odsadenie musíte stlačiť kláves „Tab“, ak ste teda robili slučku „keby“. urobili by ste: ak a = b: print („Odsadenie je medzera pred tlačou“)
- Chcem vytlačiť čas na obrazovku videa. Čo mám robiť?Predpokladám, že máte na mysli okno Python Turtle Graphics. Ak sa mýlim, namiesto „print ()“ by ste mali použiť funkciu „write ()“. Potom by ste museli pridať "clear ()", pretože "write ()" nemení riadky automaticky. V opačnom prípade by ste mohli posunúť pozíciu svojej korytnačky. Ak chcete použiť funkciu „write ()“, musíte tiež pridať „z importu korytnačky *“.
- Ako môžem v Pythone na Macu zväčšiť písmo?V prostredí Python kliknite na položku Možnosti, Konfigurovať, Nečinnosť. Odtiaľ môžete zmeniť veľkosť písma.
- Prečo mať modul „čas“, ak sa nikdy nepoužíva?Ak napíšete program, povedzme, pre robota, a budete mať ovládanie servomotora v milisekundách, potom použije časový modul na odoslanie elektrického signálu na správnu dobu.