Hur man gör ett nedräkningsprogram i Python?

Ring nedräkningsfunktionen () med antalet sekunder som användaren matade in
För att faktiskt köra nedräkningskoden, ring nedräkningsfunktionen () med antalet sekunder som användaren matade in: nedräkning (sekunder).

Den här artikeln visar hur du skapar ett enkelt nedräkningsprogram med programmeringsspråket Python. Detta är en bra övning för nybörjare som vill lära sig mer om loopar och moduler. Du bör dock redan ha en viss bekantskap med grundläggande Python-begrepp som variabler för att förstå det.

Du måste också ha Python 3 installerat. Om du inte har gjort det, innan du fortsätter, följ instruktionerna i Så här installerar du python.

Steg

  1. 1
    Öppna din textredigerare eller IDE. På Windows är det enklaste alternativet att använda IDLE, som installeras tillsammans med Python.
  2. 2
    Öppna en ny fil. I många textredigerare kan du göra detta genom att gå till filmenyn och klicka på Nytt fönster eller genom att bara trycka på Ctrl+ N.
  3. 3
    Importera timemodulen. Den timeinnehåller många Python-funktioner relaterade till tid, till exempel att få aktuell tid eller vänta en viss tid (den senare är vad du behöver för detta program). För att importera modulen, skriv:
    importtid 
    Den här artikeln visar hur du skapar ett enkelt nedräkningsprogram med programmeringsspråket Python
    Den här artikeln visar hur du skapar ett enkelt nedräkningsprogram med programmeringsspråket Python.
  4. 4
    Definiera en nedräkningsfunktion. Du kan ge funktionen vilket namn du vill, men vanligtvis bör du använda något beskrivande. I det här fallet kan du namnge det countdown(). Lägg till följande kod:
    nedräkning (t): 
  5. 5
    Skriv en while-loop. En while-loop upprepar koden inuti den så länge dess tillstånd är sant. I det här fallet vill du att nedräkningen ska fortsätta tills siffran når 0. Så du måste skriva:
    medan t> 0: 
    • Lägg märke till mellanslag i början av raden. Dessa säger till Python att denna kodrad är en del av definitionen av countdownfunktionen, och inte bara någon kod under den. Du kan använda valfritt antal mellanslag, men du måste använda samma belopp före en rad som du vill dra in en gång.
    • Du måste dra in nästa kodrader två gånger, eftersom de båda är en del av funktionsdefinitionen och en del av while-loop. Detta görs genom att använda dubbelt så många mellanslag.
  6. 6
    Skriv ut det aktuella numret. Detta betyder inte att man använder en skrivare för att få den på papper, "utskrift" är ett ord som betyder "visas på skärmen". Detta låter dig se hur långt nedräkningen har kommit.
    skriva ut (t) 
  7. 7
    Räkna ner numret. Gör det 1 mindre. Detta görs med följande kod:
    t = t - 1 

    Alternativt, om du inte vill skriva så mycket, kan du istället skriva:
    t - = 1 
  8. 8
    Låt programmet vänta en sekund. Annars skulle det räkna ner siffrorna alldeles för snabbt och nedräkningen skulle vara klar innan du ens kunde läsa den. För att vänta en sekund använder du sleepfunktionen för timemodulen som du tidigare importerade:
    time.sleep (1) 
  9. 9
    Gör något när nedräkningen når noll. Att skriva ut "BLAST OFF!" när nedräkningen når noll, lägg till den här raden:
    skriva ut ("BLAST OFF!") 
    • Observera att denna rad bara är indragen en gång. Detta beror på att det inte längre är en del av while-loop. Den här koden körs bara efter att while-loop är klar.
    Dessa säger till Python att denna kodrad är en del av definitionen av nedräkningsfunktionen
    Dessa säger till Python att denna kodrad är en del av definitionen av nedräkningsfunktionen, och inte bara någon kod under den.
  10. 10
    Fråga användaren från vilket nummer som ska starta nedräkningen. Detta ger ditt program viss flexibilitet istället för att alltid räkna från samma nummer.
    • Skriv ut frågan till användaren. De behöver veta vad de ska komma in på.
      skriv ut ("Hur många sekunder att räkna ner? Ange ett heltal:") 
    • Få svaret. Lagra svaret i en variabel så att du kan göra något med det senare.
      sekunder = ingång () 
    • Medan användarens svar inte är ett heltal, fråga användaren om ett annat heltal. Du kan göra detta med en stund-loop. Om det första svaret redan är ett heltal kommer programmet inte in i slingan och fortsätter bara med nästa kod.
      medan inte seconds.isdigit (): skriv ut ("Det var inte ett heltal! Ange ett heltal:") sekunder = input () 
    • Nu kan du vara säker på att användaren angav ett heltal. Den lagras dock fortfarande i en sträng (input()returnerar alltid en sträng, eftersom den inte kan veta om användaren kommer att ange text eller siffror). Du måste konvertera det till ett heltal:
      sekunder = int (sekunder) 

      Om du skulle ha försökt konvertera en sträng vars innehåll inte är ett heltal till ett heltal, skulle du få ett fel. Detta är anledningen medan programmet kontrollerade om svaret egentligen var ett heltal först.
  11. 11
    Ring countdown()funktionen. Du hade tidigare definierat det, men att definiera en funktion gör inte det som står inuti det. För att verkligen köra nedräkningen koden kallar den countdown()funktion med antalet sekunder som användaren inmatade:
    nedräkning (sekunder) 
  12. 12
    Kontrollera din färdiga kod. Det ska se ut så här:
    importtid def nedräkning (t): medan t> 0: skriv ut (t) t - = 1 gång. sov (1) skriv ut ("BLAST OFF!") tryck ("Hur många sekunder att räkna ner? Ange ett heltal:") sekunder = input () medan inte sekunder. isdigit (): print ("Det var inte ett heltal! Ange ett heltal:") sekunder = input () sekunder = int (sekunder) nedräkning (sekunder) 
    • De tomma raderna finns bara för att göra koden lättare att läsa. De krävs inte, och Python ignorerar dem faktiskt.
    • Du kan skriva t = t - 1 istället för t -= 1 om du föredrar.

Frågor och svar

  • Jag får följande fel: "förväntade mig ett indraget block." Vad har jag gjort fel?
    Du måste trycka på "Tab" -tangenten för att dra in, så om du gjorde en "if" -slinga. du skulle göra: om a = b: skriva ut ("Indrag är utrymmet före utskrift")
  • Jag använder LiClipse och när jag läser in koden laddas den, men ingenting händer. Indragning är bra och det enda jag har ändrat är att ändra variabeln n till a.
    Leta efter syntaxfel, oftast en semikolon i slutet av alla nödvändiga faser, och se till att ditt operativsystem, drivrutiner och Python alla är uppdaterade. Det kan också vara bra att kontrollera brandväggen och se om den blockerar gränssnittet.
  • Hur kan jag stoppa eller avbryta nedräkningen?
    Genom att använda nyckelordet "break". Om du till exempel vill starta en nedräkning men vill stoppa den halvvägs, kan du prova något så här: i = 10 medan jag <10: skriv ut (i) i - = 1 om jag == 5 bryta ut (" Gjort")
  • Varför har "tidsmodulen" om den aldrig används?
    Om du skriver ett program för exempelvis en robot och har servokontrollerna i millisekunder kommer den att använda tidsmodulen för att skicka den elektriska signalen under rätt tid.
  • Jag vill skriva ut tiden på videoskärmen. Vad ska jag göra?
    Jag antar att du menar fönstret Python Turtle Graphics. Om jag stämmer ska du använda funktionen "skriv ()" istället för "skriva ut ()". Då måste du lägga till "clear ()" eftersom "skriv ()" inte ändrar raderna automatiskt. Annars kan du flytta din Turtle. För att använda funktionen "skriv ()" måste du också lägga till "från sköldpaddsimport *".
  • Hur gör jag teckensnittet större i Python på en Mac?
    I Python-skalet klickar du på Alternativ, Konfigurera, Tomgång. Därifrån kan du ändra teckenstorlek.
  • Hur får jag det att skriva ut i varje sekund istället för att skriva ut allt på en gång?
    Använd time.sleep (x) -funktionen. Det gör att programmet kan pausa i x sekunder. Sätt in time.sleep (1) efter varje utskrift.
  • Hur skapar jag en timer som ger ett slumptal efter en viss tid i Python?
    Första importen slumpmässig. Du kan sedan lägga till den här raden efter koden: random.choice (12,34,56,78,9).

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail