Er zijn twee manieren om een hoofdprogramma te schrijven in Python:
De statements worden gewoon onder elkaar gezet.
print("Hallo world!")
Het hoofdprogramma wordt toegevoegd in de ‘procedure’ main()
, daarbij moet de code “inspringen” in deze procedure. De procedure wordt ook expliciet aangeroepen.
def main():
print("Hallo world!")
main()
In Dodona wordt dikwijls de tweede manier gebruikt, maar de aanroep naar main()
mag niet toegevoegd worden om de testen uit te voeren. Om je code toch ook “lokaal” (in VS Code, Pycharm, replit.com,… ) te kunnen uittesten, zijn er twee extra lijnen code toegevoegd die je niet moet begrijpen. Bij elke oefening waarbij dit nodig is, staat het sjabloon klaar bij de start van de oefening, en kan je de oefening dus ook lokaal testen. Je hoeft deze notatie en de betekenis er van dus niet te kennen.
def main():
print("Hallo world!")
if __name__ == '__main__':
main()
In de voorbeelden wordt een speciale notatie gebruikt in oefeningen die een ‘functie/procedure’, vb main()
aanroepen. Om aan te geven dat de functie wordt opgeroepen, gebruikt Python drie groterdantekens en een spatie (>>>
). Verder heeft die notatie geen betekenis. Daarna komt de aanroep van de functie. Op de volgende lijn staat de verwachte uitvoer (tegen de linkerkantlijn).
>>> main()
"Hello world!"
In het tabblad Feedback wordt feedback gegeven bij het programma. Indien de code werd ingediend zonder main, dan zie je de invoer, met daaronder de uitvoer.
Indien de code werd ingediend in main()
dan wordt eerst de uitvoer getoond. Daaronder worden de ingegeven getallen geprint.
Een foute oplossing herken je aan de rode balk. Dodona toont wat verwacht werd:
Elke testcase kan je in Dodona ook debuggen (= in detail volgen) met de Python Tutor. Klik op “Debuggen” bij de testcase die je wilt volgen.
Er opent een pop-up met de Python Tutor waarmee je stap voor stap door je code kan gaan (met knoppen en slider). Voor sommige testcases met bestanden is deze functionaliteit niet beschikbaar.
In het tabblad Code kan je vragen stellen aan de begeleiders.
Je kan bovenaan je code een Stel een vraag over je code. Je kan ook een vraag over specifieke lijn code stellen door links van het lijnnummer te zweven met je muisaanwijzer en te klikken op de blauwe knop. Lesgevers zullen reageren op die vragen door bij bepaalde lijnen code (of bovenaan de code) annotaties toe te voegen. Als je vraag beantwoord is, krijg je hiervan een melding in Dodona.