Dit artikel laat je zien hoe je een eenvoudig aftelprogramma maakt met de programmeertaal Python. Dit is een goede oefening voor een beginner die meer wil weten over while-loops en modules. U moet echter al enige bekendheid hebben met basisconcepten van Python, zoals variabelen, om het te begrijpen.
Je moet ook Python 3 hebben geïnstalleerd. Als je dat nog niet hebt gedaan, volg dan, voordat je verder gaat, de instructies van Python installeren.
Stappen
Stap 1. Open uw teksteditor of IDE
Op Windows is de eenvoudigste optie om IDLE te gebruiken, dat samen met Python wordt geïnstalleerd.
Stap 2. Open een nieuw bestand
In veel teksteditors kunt u dit doen door naar het bestandsmenu te gaan en op Nieuw venster te klikken of door gewoon op Ctrl+N te drukken.
Stap 3. Importeer de
tijd
module.
De
tijd
bevat veel Python-functies met betrekking tot tijd, bijvoorbeeld de huidige tijd krijgen of een bepaalde hoeveelheid tijd wachten (dit laatste is wat je nodig hebt voor dit programma). Om de module te importeren, typt u:
import tijd
Stap 4. Definieer een aftelfunctie
Je kunt de functie elke naam geven die je wilt, maar meestal moet je iets beschrijvends gebruiken. In dit geval zou je het countdown() kunnen noemen. Voeg de volgende code toe:
def aftellen (t):
Stap 5. Schrijf een while-loop
Een while-lus herhaalt de code erin zolang de voorwaarde waar is. In dit geval wilt u dat het aftellen doorgaat totdat het nummer 0 bereikt. U moet dus schrijven:
terwijl t > 0:
-
Let op de spaties aan het begin van de regel. Deze vertellen Python dat deze regel code deel uitmaakt van de definitie van de
aftellen
- functie, en niet alleen een code eronder. U kunt een willekeurig aantal spaties gebruiken, maar u moet hetzelfde aantal gebruiken voor elke regel die u één keer wilt laten inspringen.
- U moet de volgende coderegels twee keer laten inspringen, omdat ze zowel deel uitmaken van de functiedefinitie als van de while-loop. Dit wordt gedaan door twee keer zoveel spaties te gebruiken.
Stap 6. Druk het huidige nummer af
Dit betekent niet dat je een printer moet gebruiken om het op papier te krijgen, "afdrukken" is een woord dat "weergeven op het scherm" betekent. Zo kun je zien hoe ver het aftellen is gevorderd.
print(t)
Stap 7. Tel het nummer af
Maak er 1 minder van. Dit gebeurt met de volgende code:
t = t - 1
Als alternatief, als u niet zoveel wilt typen, kunt u in plaats daarvan schrijven:
t -= 1
Stap 8. Laat het programma even wachten
Anders zou het de getallen veel te snel aftellen en zou het aftellen zijn voltooid voordat je het zelfs maar kon lezen. Gebruik de om even te wachten
slaap
functie van de
tijd
module die u eerder had geïmporteerd:
tijd.slaap(1)
Stap 9. Doe iets wanneer het aftellen nul bereikt
Om "BLAST OFF!" uit te printen wanneer het aftellen nul bereikt, voegt u deze regel toe:
print("BLAST UIT!")
Merk op dat deze regel alleen ingesprongen is een keer. Dit komt omdat het niet langer deel uitmaakt van de while-loop. Deze code wordt pas uitgevoerd nadat de while-lus is voltooid.
Stap 10. Vraag de gebruiker vanaf welk nummer het aftellen moet beginnen
Dit geeft je programma wat flexibiliteit, in plaats van altijd vanaf hetzelfde nummer te tellen.
-
Print de vraag voor de gebruiker. Ze moeten weten wat ze moeten invoeren.
print("Hoeveel seconden om af te tellen? Voer een geheel getal in:")
-
Krijg het antwoord. Bewaar het antwoord in een variabele zodat je er later iets mee kunt doen.
seconden = invoer()
-
Hoewel het antwoord van de gebruiker geen geheel getal is, kunt u de gebruiker om een ander geheel getal vragen. Dit doe je met een while-loop. Als het eerste antwoord al een geheel getal is, zal het programma de lus niet ingaan en gewoon doorgaan met de volgende code.
while not seconds.isdigit(): print("Dat was geen geheel getal! Voer een geheel getal in:") seconden = input()
-
Nu kunt u er zeker van zijn dat de gebruiker een geheel getal heeft ingevoerd. Het wordt echter nog steeds opgeslagen in een string (
invoer()
retourneert altijd een tekenreeks, omdat het niet kan weten of de gebruiker tekst of cijfers zal invoeren). Je moet het converteren naar een geheel getal:
seconden = int(seconden)
Als je zou hebben geprobeerd een string waarvan de inhoud geen geheel getal is, om te zetten in een geheel getal, zou je een foutmelding krijgen. Dit is de reden dat het programma eerst controleerde of het antwoord eigenlijk een geheel getal was.
Stap 11. Bel de
aftellen()
functie.
U had het eerder gedefinieerd, maar het definiëren van een functie doet niet wat erin is geschreven. Om de aftelcode daadwerkelijk uit te voeren, belt u de
aftellen()
functie met het aantal seconden dat de gebruiker heeft ingevoerd:
aftellen (seconden)
Stap 12. Controleer uw voltooide code
Het zou er zo uit moeten zien:
import time def countdown(t): while t > 0: print(t) t -= 1 time.sleep(1) print("BLAST OFF!") print("Hoeveel seconden om af te tellen? Voer een geheel getal in:") seconden = input() terwijl niet seconds.isdigit(): print("Dat was geen geheel getal! Voer een geheel getal in:") seconds = input() seconds = int(seconds) countdown(seconds)
- De lege regels zijn er alleen om de code leesbaarder te maken. Ze zijn niet vereist en Python negeert ze eigenlijk.
- Je kunt t = t - 1 schrijven in plaats van t -= 1 als je dat liever hebt.