Tämä artikkeli näyttää kuinka luoda yksinkertainen lähtölaskentaohjelma Python-ohjelmointikielellä. Tämä on hyvä harjoitus aloittelijalle, joka haluaa oppia while-silmukoista ja moduuleista. Sinulla pitäisi kuitenkin olla jo jonkin verran perehtyneisyyttä Pythonin peruskäsitteisiin, kuten muuttujiin, sen ymmärtämiseksi.
mcdavid kyynärvarret
Sinulla on myös oltava asennettuna Python 3. Jos et ole vielä suorittanut, noudata seuraavia ohjeita, ennen kuin jatkatKuinka asentaa Python.
Askeleet
- 1 Avaa tekstieditori tai IDE. Windowsissa helpoin vaihtoehto on käyttää IDLEä, joka asennetaan yhdessä Pythonin kanssa.
- kaksi Avaa uusi tiedosto. Monissa tekstieditorissa voit tehdä tämän siirtymällä tiedosto-valikkoon ja napsauttamalla Uusi ikkuna tai painamalla vain Ctrl + N .
- 3 Tuo
time
moduuli.time
sisältää monia aikaan liittyviä Python-toimintoja, esimerkiksi nykyisen ajan saamisen tai tietyn ajan odottamisen (jälkimmäistä tarvitset tälle ohjelmalle). Tuo moduuli kirjoittamalla:countdown
- 4 Määritä lähtölaskenta. Voit antaa funktiolle minkä tahansa haluamasi nimen, mutta yleensä sinun tulisi käyttää jotain kuvailevaa. Tässä tapauksessa voit nimetä sen lähtölaskennaksi (). Lisää seuraava koodi:
sleep
- 5 Kirjoita while-loop. Aika-silmukka toistaa koodin sen sisällä niin kauan kuin sen ehto on totta. Tässä tapauksessa haluat, että lähtölaskenta jatkuu, kunnes numero saavuttaa 0. Joten sinun on kirjoitettava:
time
- Huomaa rivin alussa olevat välilyönnit. Nämä kertovat Pythonille, että tämä koodirivi on osa
input()
: n määritelmää eikä vain jotakin koodia sen alla. Voit käyttää mitä tahansa määrää välilyöntejä, mutta sinun on käytettävä samaa määrää ennen riviä, jonka haluat sisenyttää kerran. - Seuraavat koodirivit on sisennettävä kahdesti, koska ne ovat molemmat osa funktion määritelmää ja osa while-silmukkaa. Tämä tehdään käyttämällä kaksi kertaa niin monta välilyöntiä.
- Huomaa rivin alussa olevat välilyönnit. Nämä kertovat Pythonille, että tämä koodirivi on osa
- 6 Tulosta nykyinen numero. Tämä ei tarkoita tulostimen käyttöä sen saamiseksi paperille, 'tulostus' on sana, joka tarkoittaa 'näyttämistä näytöllä'. Tämä antaa sinun nähdä, kuinka pitkälle lähtölaskenta on edennyt.
countdown()
- 7 Laske numero alas. Tee siitä 1 vähemmän. Tämä tehdään seuraavalla koodilla:
countdown()
Vaihtoehtoisesti, jos et halua kirjoittaa niin paljon, voit sen sijaan kirjoittaa:import time
- 8 Anna ohjelman odottaa sekuntia. Muuten se laskisi numerot liian nopeasti ja lähtölaskenta olisi valmis, ennen kuin voisit edes lukea sitä. Käytä hetken odottamiseen
def countdown ( t ):
while t > 0 :
-toiminto moduuli, jonka olet aiemmin tuonut:print ( t )
- 9 Tee jotain, kun lähtölaskenta saavuttaa nollan. Tulosta 'BLAST OFF!' kun lähtölaskenta saavuttaa nollan, lisää tämä rivi:
t = t - 1
- Huomaa, että tämä viiva on vain sisennys yhden kerran . Tämä johtuu siitä, että se ei ole enää osa while-silmukkaa. Tämä koodi suoritetaan vasta, kun silmukka on valmis.
- 10 Kysy käyttäjältä, mistä numerosta aloitat lähtölaskennan. Tämä antaa ohjelmallesi jonkin verran joustavuutta sen sijaan, että laskisit aina samasta numerosta.
- Tulosta kysymys käyttäjälle. Heidän on tiedettävä, mihin heidän on tarkoitus tulla.
t -= 1
- Hanki vastaus. Tallenna vastaus muuttujaan, jotta voit tehdä sen myöhemmin.
time . sleep ( 1 )
- Vaikka käyttäjän vastaus ei ole kokonaisluku, kysy käyttäjältä toinen kokonaisluku. Voit tehdä tämän hetken silmukalla. Jos ensimmäinen vastaus on jo kokonaisluku, ohjelma ei kirjoita silmukkaa ja jatka vain seuraavalla koodilla.
print ( 'BLAST OFF!' )
- Nyt voit olla varma, että käyttäjä on syöttänyt kokonaisluvun. Se on kuitenkin edelleen tallennettu merkkijonoon (
print ( 'How many seconds to count down? Enter an integer:' )
palauttaa aina merkkijonon, koska se ei voi tietää, kirjoittaako käyttäjä tekstiä vai numeroita). Sinun on muunnettava se kokonaisluvuksi:seconds = input ()
Jos olisit yrittänyt muuntaa merkkijonon, jonka sisältö ei ole kokonaisluku, kokonaisluvuksi, saat virheilmoituksen. Tämä on syy, kun ohjelma tarkisti, oliko vastaus oikeastaan kokonaisluku ensin.
- Tulosta kysymys käyttäjälle. Heidän on tiedettävä, mihin heidän on tarkoitus tulla.
- yksitoista Soita
while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input ()
toiminto. Olit aiemmin määrittänyt sen, mutta funktion määritteleminen ei tee sitä, mikä on kirjoitettu sen sisälle. Suorita lähtölaskenta todella soittamallaseconds = int ( seconds )
toiminto käyttäjän syöttämien sekuntien lukumäärällä:countdown ( seconds )
- 12 Tarkista valmis koodi. Sen pitäisi näyttää tältä:
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 )
- Tyhjät rivit ovat vain koodin lukemisen helpottamiseksi. Niitä ei vaadita, ja Python tosiasiassa jättää ne huomiotta.
- Voit kirjoittaa t = t - 1 sijasta t - = 1, jos haluat.
Yhteisön kysymykset ja vastaukset
Hae Lisää uusi kysymys- Kysymys Kuinka saan sen tulostamaan joka sekunti sen sijaan, että saisin kaikki tulostettua kerralla? Käytä time.sleep (x) -toimintoa. Sen avulla ohjelma voi keskeytyä x sekunnin ajan. Lisää jokaisen tulosteen jälkeen time.sleep (1).
- Kysymys Kuinka teen fontin suuremmaksi Pythonissa Macissa? Valitse Python-kuoressa Asetukset, Määritä, Idle. Sieltä voit muuttaa kirjasinkokoa.
- Kysymys Miksi on aika-moduuli, jos sitä ei koskaan käytetä? Jos kirjoitat ohjelman esimerkiksi robotille ja sinulla on servosäätimet millisekunteina, se käyttää aikamoduulia lähettämään sähköisen signaalin oikeaan aikaan.
- Kysymys Saan jatkuvasti seuraavan virheen: 'odotetaan sisennettyä lohkoa'. Mitä olen tehnyt väärin? Sinun on painettava sarkainnäppäintä sisennykseen, joten jos teit 'jos' -silmukkaa. tekisit: jos a = b: print ('sisennys on ennen tulostusta oleva tila')
- Kysymys Haluan tulostaa ajan videonäytölle. Mitä minun pitäisi tehdä? Oletan, että tarkoitat Python Turtle Graphics -ikkunaa. Jos olen oikeassa, sinun on käytettävä toimintoa 'write ()' 'print ()' 'sijaan. Sitten sinun on lisättävä 'clear ()', koska 'write ()' ei muuta rivejä automaattisesti. Muuten voit siirtää kilpikonnaasi. Toiminnon 'write ()' käyttöä varten sinun on lisättävä myös 'from turtle import *'.
- Kysymys Käytän LiClipsea ja koodi ladattaessa se latautuu, mutta mitään ei tapahdu. Sisennys on hieno ja ainoa asia, jonka olen muuttanut, on muuttujan n muuttaminen a: ksi. Tarkista syntaksivirheet, yleisimmin puolipiste kaksoispisteellä kaikkien vaadittujen vaiheiden lopussa ja varmista, että käyttöjärjestelmäsi, ohjaimet ja Python ovat kaikki viimeisimmät päivitykset. Voi olla myös hyödyllistä tarkistaa palomuuri ja estääkö se estää käyttöliittymää.
- Kysymys Kuinka voin lopettaa tai keskeyttää lähtölaskennan? Käyttämällä tauko-avainsanaa. Jos esimerkiksi haluat aloittaa lähtölaskennan, mutta haluat lopettaa sen puolivälissä, voit kokeilla jotain tällaista: i = 10, kun i<10: print(i) i -= 1 if i == 5 break print('done')
- Kysymys Kuinka voin luoda ajastimen, joka tuottaa satunnaisluvun tietyn ajan kuluttua Pythonissa? Ensimmäinen tuonti satunnaisesti. Voit lisätä tämän rivin koodin jälkeen: random.choice (1,2,3,4,5,6,7,8,9).
- Kysymys Kuinka voin suorittaa taustan ajastimen tietokilpailussa? Näkymätön Tätä on vaikea tehdä Pythonissa. Sinun tulisi käyttää ketjuttamista tämän saavuttamiseksi: def nauraa: kun taas True: tulosta ('Haha') lanka1 = lanka (nauraa) thread1.start ()
- Entä jos haluan sen laskevan päivistä tietyllä aikavyöhykkeellä? E. I. Joka perjantai klo 17.00 utc + 1 - maanantai 17.00 utc + 1? Vastaus
- Kuinka parhaiten voin oppia pythonin 30 päivässä? Vastaus
- Entä jos haluan sen olevan käyttöliittymä? Vastaus
Mainos