Hvordan lage et nedtellingsprogram i Python

Denne artikkelen vil vise deg hvordan du lager et enkelt nedtellingsprogram med programmeringsspråket Python. Dette er en god øvelse for en nybegynner som ønsker å lære om mens-løkker og moduler. Du bør imidlertid allerede ha en viss fortrolighet med grunnleggende Python-konsepter som variabler for å forstå det.



overarmstøttebånd

Du må også ha Python 3 installert. Hvis du ikke har gjort det før du fortsetter, følg instruksjonene fraSlik installerer du Python.

Fremgangsmåte

  1. 1 Åpne tekstredigerer eller IDE. På Windows er det enkleste alternativet å bruke IDLE, som er installert sammen med Python.
  2. to Åpne en ny fil. I mange tekstredigerere kan du gjøre dette ved å gå til filmenyen og klikke på Nytt vindu eller bare trykke Ctrl + N .
  3. 3 Importer time modul. time inneholder mange Python-funksjoner relatert til tid, for eksempel å få aktuell tid eller vente en spesifisert tid (sistnevnte er det du trenger for dette programmet). For å importere modulen, skriv: countdown
  4. 4 Definer en nedtellingsfunksjon. Du kan gi funksjonen hvilket som helst navn du vil ha, men vanligvis bør du bruke noe beskrivende. I dette tilfellet kan du kalle det nedtellingen (). Legg til følgende kode: sleep
  5. 5 Skriv en while-loop. En while-loop gjentar koden i den så lenge tilstanden er sant. I dette tilfellet vil du at nedtellingen skal fortsette til tallet når 0. Så du må skrive: time
    • Legg merke til mellomrommene i begynnelsen av linjen. Disse forteller Python at denne kodelinjen er en del av definisjonen av input() funksjon, og ikke bare noen kode under den. Du kan bruke et hvilket som helst antall mellomrom, men du må bruke samme mengde før en linje som du vil innrykk en gang.
    • Du må innrykke de neste kodelinjene to ganger, fordi de begge er en del av funksjonsdefinisjonen og en del av while-loop. Dette gjøres ved å bruke dobbelt så mange mellomrom.
  6. 6 Skriv ut gjeldende nummer. Dette betyr ikke at du bruker en skriver for å få den på papir, 'utskrift' er et ord som betyr 'vises på skjermen'. Dette lar deg se hvor langt nedtellingen har kommet. countdown()
  7. 7 Telle ned tallet. Gjør det 1 mindre. Dette gjøres med følgende kode: countdown()
    Alternativt, hvis du ikke vil skrive så mye, kan du i stedet skrive:
       import   time  
  8. 8 La programmet vente et sekund. Ellers ville det være å telle ned tallene for fort, og nedtellingen ville være ferdig før du selv kunne lese den. For å vente et sekund, bruk
       def   countdown  (  t  ):  
    funksjonen til
        while   t   >   0  :  
    modul som du tidligere hadde importert:
        print  (  t  )  
  9. 9 Gjør noe når nedtellingen når null. Å skrive ut 'BLAST OFF!' når nedtellingen når null, legg til denne linjen:
        t   =   t   -   1  
    • Merk at denne linjen bare er innrykket en gang . Dette er fordi det ikke lenger er en del av while-loop. Denne koden kjøres bare etter at mens loop er ferdig.
  10. 10 Spør brukeren fra hvilket nummer den skal starte nedtellingen. Dette vil gi programmet litt fleksibilitet, i stedet for å alltid telle fra samme nummer.
    • Skriv ut spørsmålet til brukeren. De trenger å vite hva de skal inn.
          t   -=   1  
    • Få svaret. Lagre svaret i en variabel slik at du kan gjøre noe med det senere.
          time  .  sleep  (  1  )  
    • Mens brukerens svar ikke er et helt tall, kan du be brukeren om et annet heltall. Du kan gjøre dette med en while-loop. Hvis det første svaret allerede er et helt tall, vil ikke programmet gå inn i løkken og bare fortsette med neste kode.
          print  (  'BLAST OFF!'  )  
    • Nå kan du være sikker på at brukeren skrev inn et heltall. Imidlertid er den fortsatt lagret i en streng (
         print  (  'How many seconds to count down? Enter an integer:'  )  
      returnerer alltid en streng, fordi den ikke kan vite om brukeren vil skrive inn tekst eller tall). Du må konvertere det til et helt tall:
         seconds   =   input  ()  

      Hvis du ville ha prøvd å konvertere en streng hvis innhold ikke er et helt tall, til et helt tall, vil du få en feil. Dette er årsaken mens programmet sjekket om svaret egentlig var et heltall først.
  11. elleve Ring
       while   not   seconds  .  isdigit  ():   print  (  'That wasn't an integer! Enter an integer:'  )   seconds   =   input  ()  
    funksjon.
    Du hadde tidligere definert det, men å definere en funksjon gjør ikke det som står i den. For å faktisk kjøre nedtellingskoden, ring
       seconds   =   int  (  seconds  )  
    funksjon med antall sekunder som brukeren skrev inn:
       countdown  (  seconds  )  
  12. 12 Sjekk den ferdige koden. Det skal se slik ut:
       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  )  
    • De tomme linjene er bare der for å gjøre koden lettere å lese. De kreves ikke, og Python ignorerer dem faktisk.
    • Du kan skrive t = t - 1 i stedet for t - = 1 hvis du foretrekker det.
    Annonse

Samfunnsspørsmål og svar

Søk Legg til nytt spørsmål
  • Spørsmål Hvordan får jeg det til å skrives ut hvert sekund i stedet for at det hele skrives ut samtidig? Bruk time.sleep (x) -funksjonen. Det lar programmet stoppe i x sekunder. Sett inn time.sleep etter hvert utskriftsuttalelse (1).
  • Spørsmål Hvordan gjør jeg skrifttypen større i Python på en Mac? I Python-skallet klikker du Alternativer, Konfigurer, Tomgang. Derfra kan du endre skriftstørrelsen.
  • Spørsmål Hvorfor har tidsmodulen hvis den aldri blir brukt? Hvis du skriver et program for for eksempel en robot og har servokontrollene i millisekunder, vil den bruke tidsmodulen til å sende det elektriske signalet til riktig tid.
  • Spørsmål Jeg får stadig følgende feil: 'forventet en innrykket blokk.' Hva har jeg gjort galt? Du må trykke på 'Tab' -tasten for å rykke inn, så hvis du gjorde en 'if' -løkke. du ville gjort: hvis a = b: utskrift ('Innrykk er rommet før utskrift')
  • Spørsmål Jeg vil skrive ut tiden på videoskjermen. Hva burde jeg gjøre? Jeg antar at du mener vinduet Python Turtle Graphics. Hvis jeg stemmer, bør du bruke funksjonen 'skriv ()' i stedet for 'skriv ut ()'. Da må du legge til 'clear ()' fordi 'skriv ()' ikke endrer linjene automatisk. Ellers kan du flytte posisjonen til skilpadden. For å bruke funksjonen 'skriv ()', må du også legge til 'fra skilpaddeimport *'.
  • Spørsmål Jeg bruker LiClipse, og når du laster inn koden, lastes den inn, men ingenting skjer. Innrykk er bra, og det eneste jeg har endret er å endre variabelen n til a. Se etter syntaksfeil, vanligvis en semikolon på slutten av alle nødvendige faser, og sørg for at operativsystemet, driverne og Python er den siste oppdateringen. Det kan også være nyttig å sjekke brannmuren og se om den blokkerer grensesnittet.
  • Spørsmål Hvordan kan jeg stoppe eller avbryte nedtellingen? Ved å bruke 'pause' nøkkelordet. Hvis du for eksempel ønsket å starte en nedtelling, men ønsket å stoppe den halvveis, kan du prøve noe som dette: i = 10 mens jeg<10: print(i) i -= 1 if i == 5 break print('done')
  • Spørsmål Hvordan lager jeg en tidtaker som produserer et tilfeldig tall etter en angitt tid i Python? Første import tilfeldig. Du kan deretter legge til denne linjen etter koden: random.choice (1,2,3,4,5,6,7,8,9).
  • Spørsmål Hvordan kjører jeg en bakgrunnsutløser i en quiz? Usynlig Dette er vanskelig å gjøre i Python. Du bør bruke threading for å oppnå dette: def latter: mens True: print ('Haha') thread1 = threading (latter) thread1.start ()
Ubesvarte spørsmål
  • Hva om jeg vil at det skal telle ned fra dager i en bestemt tidssone? E. I. Hver fredag ​​fra 17:00 utc + 1 til mandag 17:00 utc + 1?
  • Hvordan best kan jeg lære python på 30 dager?
  • Hva om jeg vil at det skal være et GUI?
Still et spørsmål 200 tegn igjen Inkluder e-postadressen din for å få en melding når dette spørsmålet blir besvart. Sende inn
Annonse

Tips

Send inn et tips Alle tipsinnleveringer blir nøye gjennomgått før de blir publisert. Takk for at du sendte et tips til gjennomgang!

Populære Saker

Wimbledon 2014: Realiseringer av en Roger Federer -fan.

The Blues and Bruins møtes i en vinner-take-all Game 7 i Stanley Cup-finalen onsdag. Slik ser du en live stream av spillet gratis online.

ASU og Ohio State møtes til et enormt topp-5 brytekamp i Columbus mandag kveld. Slik ser du kampen direkte online uten kabel.



Roger Federer prøver seg på andre strenger med en fiolin.