Program Arcade Games With Python And Pygame

Program Arcade Games
With Python And Pygame

Chapter 1: Maak een eigen rekenmachine

(Hoi! Wanneer jullie nog geen Python en Pygame op jullie machine hebben geinstalleerd dan kunnen jullie terugspringen naar het voorwoord hoofdstuk om dit alsnog te downloaden en te installeren zodat jullie kunnen starten.)

1.1 Introductie

fig.trajectory

Een van de gemakkelijkste dingen dat je kan doen met Python is het maken van een leuk rekenmachine. Wacht, een rekenmachine is geen spelletje. Waarom praten we over rekenmachines? Saai...

Hey, om berekeningen te maken van vallende voorwerpen, kogels die vliegen, high scores moeten we gaan rekenen. Neem daarbij dat elke echte programmeur een rekenmachine zal beschouwen als een handig speelgoed in plaats van een marteltuig! Maak jullie geen zorgen, we beginnen met de graphics vanaf hoofdstuk 5.

Een simpel rekenmachine kan de gebruiker vragen naar informatie om dan saaie dingen te gaan berekenen zoals hypotheekleningen, maar het kunnen ook spannende zaken zijn zoals modderballen die door de lucht vliegen.

Met ons eerste voorbeeld gaan we de kinetische energie berekenen dat je kan nodig hebben in een deel van een spel om de beweging van een voorwerp te tonen.

fig.kinetic_energy
Figure 1.1: Gebruik Python om kinetische energie te berekenen

Het grote voordeel van een programma is dat je de mogelijkheid hebt om de complexiteit van een vergelijking te verbergen. De gebruiker hoeft alleen maar de informatie in te voeren en hij krijgt ook het resultaat in een zeer gebruiksvriendelijke vorm. Elke gelijkaardige rekenmachine zou kunnen werken op een smartphone en zou de persoon de mogelijkheid geven om deze berekeningen uit te voeren.

1.2 Printen

1.2.1 Printen van tekst

Hoe print een programma iets op het scherm?

print("Hello World.")
fig.printing_calculator

Dit programma print "Hello World" op het scherm. Ga van start en type dit in de IDLE prompt om te kijken of het werkt. Probeer ook andere woorden en zinnen uit. De computer zal met plezier bijna alles tonen , waar of niet?

Hoe "Hello World" eruit ziet in andere computertalen kan je vinden op Wikipedia.
http://en.wikipedia.org/wiki/Hello_world_program_examples

Het is interessant om te weten hoeveel verschillende computertalen er zijn. Je krijgt een idee hoe complex een taal kan zijn een hoe gemakkelijk het "Hello World" programma is..

Video: De print functie

Onthoudt dat het commando om te printen in Phyton zeer eenvoudig is. Gebruik gewoon print. Na het print commando volgen er haakjes ( ). Tussen deze haakjes komt er datgene te staan dat je wenst te tonen op het scherm. Het gebruik van haakjes om informatie door te geven naar een functie is een standaard werkwijze in wiskunde en computertalen.

Studenten wiskunde leren om haakjes te gebruiken wanneer er vergelijkingen worden gebruikt zoals $sin(\theta)=cos(\frac{\pi}{2}-\theta)$. $sin$ en $cos$ zijn functies. Data doorgeven naar deze functies doe je tussen de haakjes. Het verschil met ons voorbeeld is dat de informatie die je doorgeeft tekst is.

Merk op dat er dubbele aanhalingstekens staan rond de tekst. De computer zal dit op het scherm zetten op dezelfde manier zoals het is geschreven. Voorbeeld Dit programma print 2+3 :

print("2+3")

1.2.2 Het printen van resultaten en vergelijkingen

Het volgende programma heeft geen dubbele aanhalingstekens rond $2+3$, en de computer zal dit bekijken als een wiskundige bewerking. De computer zal 5 printen in plaats van 2+3.

print(2+3)

Met de onderstaande code zal de computer een foutboodschap genereren omdat de computer Hello World probeert te bekijken als een wiskundige bewerking en dat lukt natuurlijk niet :

print(Hello World)

De bovenstaande code zal de fout SyntaxError: invalid syntax tonen wat in computertermen betekent dat de computer niet weet wat "Hello" en "World" wil zeggen.

Denk er ook aan dat dit een aanhalingsteken is : ' en dit een dubbel aanhalingsteken : " Wanneer ik een dubbel aanhalingsteken vraag is een vaakvoorkomende fout dat er "" geschreven wordt maar dit is eigenlijk een dubbel dubbel aanhalingsteken.

1.2.3 Het printen van meerdere elementen

Een print statement kan meerdere dingen tegelijk tonen, elk element gescheiden door een komma. Voorbeeld de code zal het volgende tonen : Je nieuwe score is 1040

print("Je nieuwe score is", 1030+10)

De volgende lijn coding zal het volgende printen Je nieuwe score is 1030+10. De getallen zijn niet bij elkaar geteld omdat ze tussen de aanhalingstekens staan. Alles wat tussen de aanhalingstekens staat wordt door de computer gezien als tekst. Alles wat buiten de aanhalingstekens staat wordt door de computer gezien als wiskundige bewerkingen of computer code.

print("Je nieuwe score is", "1030+10")
Zit de komma binnen of buiten de aanhalingstekens?

Het volgende voorbeeld werk helemaal niet. Dit komt omdat er geen komma staat tussen de tekst dat tussen de aanhalingstekens staat en 1030+10. Op het eerste zicht lijkt het alsof er een komma staat maar de komma staat tussen de aanhalingstekens. De komma die de verschillende elementen van elkaar scheidt moet buiten de aanhalingstekens staan. Als de programmeur een komma wil printen in de tekst, dan moet hij deze tussen de aanhalingstekens zetten.

print("Je nieuwe score is," 1030+10)

Het volgende voorbeeld werkt omdat de komma de scheiding is tussen de elementen. Het print :
Je nieuwe score is , 1040
Merk op dat er slechts één komma geprint wordt. Komma's binnen de aanhalingstekens worden afgeprint, komma's buiten de aanhalingstekens worden gebruikt om de elementen te scheiden. De eerste komma wordt geprint, de tweede dient als scheiding van de elementen.

print("Je nieuwe score is,", 1030+10)

1.3 Escape Codes

Wanneer aanhalingstekens gebruikt worden om de computer te vertellen wat het begin en het einde is van een string, hoe kan een programma dan aanhalingstekens afprinten? Voorbeeld :

print("Ik wil een aanhalingsteken " tonen.")

Deze code werkt niet. De computer kijkt naar het aanhalingsteken in het midden van de tekst en denkt dat dit het einde is van de tekst. Dan heeft hij geen idee wat hij moet doen met het commando tonen en het aanhalingsteken aan het einde van de tekst brengt de computer al helemaal in de war.

Het is noodzakelijk om de computer te vertellen dat het dubbele aanhalingsteken in het midden van de tekst moet behandeld worden als een deel van de tekst en niet als het einde van een tekst. Dat is eigenlijk makkelijk. Je moet gewoon een backslash zetten voor het aanhalingsteken om de computer erop te wijzen dat het gaat over een deel van de tekst. Voorbeeld :

print("Ik wil een aanhalingsteken \" tonen.")
fig.escape_codes

De combinatie van de twee tekens of characters \" wordt een escape code genoemd. Bijna elke computertaal heeft ze. Omdat de backslash wordt gebruikt als deel van de escape code, moet ook de backslash zelf escaped worden. Voorbeeld : Deze code werkt niet correct :

print("Het bestand staat in C:\nieuwe folder")

Waarom? Omdat \n een escape code is. Een backslash printen doe je alsvolgt :

print("Het bestand staat in C:\\nieuwe folder")

Er zijn enkele belangrijke escape codes die je moet weten. Hier is een tabel van de belangrijkste escape codes:
Escape codeBeschrijving
\'Enkel aanhalingsteken
\"Dubbel aanhalingsteken
\tTab
\rCR: Carriage Return (Ga helemaal naar links)
\nLF: Linefeed (Ga 1 positie naar beneden)

What is een “Carriage Return” en een “Linefeed”? Probeer dit :

print("Dit\nis\nmijn\nvoorbeeld.")

Het resultaat (output) is:

Dit
is
mijn
voorbeeld.

De \n is een linefeed. Het verplaatst de “cursor” zodat de computer de tekst een lijn lager drukt. De computer zet alle tekst in één lange lijn. Hij weet wanneer hij de tekst op de volgende lijn moet zetten door het \n teken.

Om het iets ingewikkelder te maken hebben de verschillende operating systemen ook verschillende manieren om een volgende lijn aan te duiden.
Escape codesBeschrijving
\r\nCR+LF: Microsoft Windows
\nLF: UNIX systemen, en de nieuwere Macs.
\rCR: Oude Mac systemen

Normaal zal je editor hier voor jou voor zorgen. Microsoft Notepad doet dat echter niet en wanneer je dan een UNIX bestand opent dan ziet dat er vreselijk uit. In plaats van bij het einde van de lijn naar de volgende lijn te springen wordt er een zwart vierkantje getoont.

1.4 Commentaar

Commentaar is belangrijk.(Niettegenstaande de computer dit negeert)

Soms is het nodig om wat extra informatie bij code te zetten voor anderen die dit willen lezen. Dit doen we door “commentaar” toe te voegen in de code. De commentaar is bedoeld voor de mensen die de code lezen en niet voor de computer.

Er zijn twee manieren van het schrijven van commentaar. De eerste is door het gebruik van het # symbool. De computer negeert alle tekst die na het # symbool komt. Voorbeeld:

# Dit is commentaar, het begint namelijk met een # teken 
# en de computer negeert dit volledig.

print("Dit is geen commentaar. De computer zal")
print("dit begrijpen en printen op het scherm.")

Het # teken tussen de aanhalingstekens wordt niet behandelt als commentaar. De programmeur kan een codelijn veranderen in commmentaar door vooraan een # te zetten. Hij kan achter een codelijn commentaar toevoegen door het # na zijn codelijn te plaatsen.

print("Een # teken tussen de aanhalingstekens is geen commentaar.")

# print("Dit is wel commentaar ook al is het correcte computertaal.") 

print("Hoi") # Dit is commentaar na de codelijn

Het is mogelijk om commentaar te zetten over verschillende lijnen door drie enkelvoudige aanhalingstekens te plaatsen na elkaar en dan krijg je ongelimiteerde commentaar.

print("Hoi")
'''
Dit is 
een
meervoudige
lijn
van commentaar. Niets
zal door de computer behandeld worden.
print("Voila")
'''
print("Einde")

De meeste Python programmeurs zullen deze soort van commentaar alleen gebruiken als docstrings. Docstrings laat toe om documentatie te schrijven naast de code die dan later automatisch kan gebruikt worden om geprint te worden. Voor de normale commentaar werkt # het beste.

Zelfs al ben je de enige die de coding zal lezen, is het handig om commentaar te gebruiken. Je kan er veel tijd mee winnen. Commentaar toevoegen zoals “Laat bom vallen” zal je vlug helpen om te weten over wat dit stukje coding gaat zonder dat je alles moet opnieuw lezen of ontcijferen.

1.5 Toekennen van operatoren

Video: The Assignment Operator

Hoe gaan we de score opslaan in ons spel? Of hoe gaan we de gezondheidsmeter van onze vijand opvolgen? Wat we daarvoor moeten doen is het toekennen van een operator. (Een operator is een symbool zoals + of -.) Dit stockeert een waarde in een variabele die dan later kan gebruikt worden. De code hieronder wijst 10 toe aan een variabele x and print dan de waarde af die zich bevindt in x.

Kijk naar het voorbeeld hieronder. Druk op de “Stap” knop om de code te zien wijzigen.
# Maak een variabele x 
# Bewaar de waarde 10 in x.
x = 10

# Print de waarde die zit in x.
print(x)

# Dit print de letter x, maar die de waarde van x
print("x")

# Dit print "x= 10"
print("x=",x)
Variabele:
x=
Output:
10
x
x= 10

Variabelen staan buiten de aanhalingstekens.

Merk op: De code (listing) hierboven toont dat er een verschil is tussen het printen van de x tussen de aanhalingstekens en de x buiten de aanhalingstekens. Wanneer het gaat over een x binnen de aanhalingstekens, dan print de computer x. Bij een x buiten de aanhalingstekens, dan print de computer de waarde van x. Dat het soms verwarrend is met “binnen of buiten de aanhalingstekens” te werken is normaal bij het leren programmeren.

fig.pi

Een toekenning (Een codelijn dat de = operator gebruikt) is verschillend van de algebraische vergelijking die je kent van de wiskunde. Denk niet dat het over hetzelfde gaat. Aan de linkerkant van de toekenning mag er slechts één variabele staan. Niets anders.

Aan de rechterzijde van het gelijkheidsteken is er de expressie. Een expressie is alles dat een waarde kan hebben. Bekijk de code hieronder.

x = x + 1

De code hierboven kan absoluut niet in de algebra. Maar voor de computer is het correct want voor hem gaat het over een toekenning. Wiskundige vergelijkingen zijn iets helemaal anders dan toekenningen ook al gebruiken ze dezelfde variabelen, getallen en gelijkheidstekens.

De code hierboven neemt de huidige waarde van x en telt er eentje bij, die hij dan opnieuw bewaard in de variabele x.

We breiden ons voorbeeld uit en het statement hieronder zal het getal 6 printen als resultaat.

x = 5
x = x + 1
print(x)

Statements lopen sequentieel (één na één na elkaar). De computer kijkt niet “verder” In de code hieronder zal de computer een 5 printen op lijn 2 en dan een 6 op lijn 4. Dit komt omdat de code om er eentje bij te tellen in lijn 2 nog niet gebeurd was.

x = 5
print(x) # Print 5
x = x + 1
print(x) # Print 6

Het volgende statement is correct en zal draaien, maar slaat nergens op. De computer telt 1 bij de waarde van x maar bewaard deze niet en print ze ook niet af.

x + 1

De code hieronder zal 5 printen in plaats van 6 omdat de programmeur is vergeten om het resultaat van x + 1 terug in de variabele x te steken.

x = 5
x + 1
print(x)

Het statement hieronder is niet juist omdat de linkerkant van het gelijkaanteken meer dan alleen een variabele bevat:

x + 1 = x

Python heeft ook andere types van toekenningsoperatoren. Ze laten de programmeur toe om gemakkelijk variabelen te wijzigen. bijvoorbeeld:

x += 1

Het statement hierboven is hetzelfde als dat je het zou schrijven als hieronder:

x = x + 1

Er zijn toekenningsoperatoren voor optellen, aftrekken, vermenigvuldigen en delen.

1.6 Variabelen

Variabelen beginnen met een kleine letter.

Variabele zouden moeten beginnen met een kleine letter. Variabelen kunnen beginnen met een hoofdletter of een _ (underscore), maar dat zijn speciale gevallen en worden best niet gebruikt in de normale gang. Na de eerste kleine letter mag je kleine letters, hoofdletters, getallen of underscores gebruiken. Variabelen mogen geen spaties bevatten.

Variabelen zijn hoofdlettergevoelig (case sensitive). Dit kan verwarrend zijn voor de programmeur. In het voorbeeld hieronder kan je denken dat de output 6 is in plaats van 5 maar het gaat eigenlijk over twee verschillende variabelen, x en X.

x = 6
X = 5
print(x)

De officiele stijlgids voor Python (Ja, programmeurs hebben een boek geschreven over stijl) zegt dat variabelen die bestaan uit meervoudige woorden zouden moeten gescheiden worden door underscores. Voorbeeld, gebruik hair_style en niet hairStyle. Persoonlijk vind ik het niet zo van belang. De programmeertaal Java zegt namelijk juist het omgekeerde.

Hier zijn enkele voorbeelden van al dan niet correcte variabelen:
Correcte variabelen Foute variabelen Correct, maar niet proper
first_name first name FirstName
distance 9ds firstName
ds9 %correct X

Alle variabelen in hoofdletters zoals MAX_SPEED zijn toegelaten wanneer de variabele nooit wijzigt. Een variabele die niet wijzigt noemen we een constante.

1.7 Operatoren

Voor meer complexe wiskundige operatoren bestaan er de normale operatoren, samen met enkele niet zo normale :
operator bewerking voorbeeld voorbeeld code
+ optelling $3 + 2$ a = 3 + 2
- aftrekking $3 - 2$ a = 3 - 2
* vermenigvuldiging $3 \cdot 2$ a = 3 * 2
/ deling $\frac{10}{2}$ a = 10 / 2
// afronding N/A a = 10 // 3
** macht $2^3$ a = 2 ** 3
% modulus N/A a = 8 % 3

Video: Operators

“Floor division” of afronding zal altijd het antwoord naar onder afronden tot de dichtstbijzijnde geheel getal (integer). Voorbeeld, 11//2 is 5, en niet 5.5, and 99//100 is 0.

De operatoren weglaten mag in Python niet. De volgende twee lijnen werken dus niet :

# Dit werkt niet
x = 5y
x = 5(3/2)

Het is dus noodzakelijk om het vermenigvuldigingsteken te plaatsen :

# Dit werkt wel
x = 5 * y
x = 5 * (3 / 2)

1.7.1 Operator & spaties

De computer heeft er geen problemen mee als er verschillende spaties voor of achter de operator komen. De volgende drie lijnen zijn bevoorbeeld gelijk :

x=5*(3/2)
x = 5 * ( 3 / 2 )
x      =5     *(    3/   2)

De officiele stijlgids van Python raadt aan om één spatie voor en één spatie na de operator te plaatsen. (Je vraagt zich al af waar dat staat, niet? Wel de officiele Python code is hier : PEP-8.) Van de bovenste drie lijnen is lijn 2 de correct “gestijlde”.

1.8 Volgorde van de bewerkingen

Python gebruikt dezelfde volgorde voor de bewerkingen zoals gekend in de wiskunde. Het voorbeeld berekent het gemiddelde niet op de correcte manier :

gemiddelde=90+86+71+100+98/5


De eerste bewerking is 98/5. De computer berekent :

$90+86+71+100+\frac{98}{5}$
in plaats van hoe het zou moeten:

$\dfrac{90+86+71+100+98}{5}$

Door haakjes te gebruiken los je dit probleem op :
gemiddelde=(90+86+71+100+98)/5

1.9 Trig Functions

Trigonometrische functions of goniometrische functies zijn functies die de sinus en cosinus gaan berekenen in toekenningen. Standaard weet Python niet hoe het de sinus of cosinus moet bereken maar door een speciaal daarvoor gemaakte bibliotheek (library) te importeren lukt dit wel.

# Importeren van de wiskunde library
# Deze lijn moet slechts één keer worden gezet bovenaan het programma.
from math import *

# bereken x die gebruikt maakt van sinus en cosinus
x = sin(0) + cos(0)

1.10 Zelfgemaakte rekenmachines

Een programma kan gebruik maken van Python om het verbruik te berekenen van een auto die 294 mijl rijdt met 10.5 galon benzine.

m = 294 / 10.5
print(v)

Dit programma kan veel beter door gebruik te maken van variabelen. Dat laat ons toe om de waarden gemakkelijk aan te passen zonder aan de code van de berekeningen te moeten komen.

m = 294
g = 10.5
m2 = m / g # Hier worden alleen variabelen gebruikt
print(m2)
Kies goede variabelnamen

Dit programma is eigenlijk moeilijk te lezen. De variabelen m en g betekenen eigenlijk niet veel in hun context. Het programma kan eigenlijk veel verstaanbaarder worden door het kiezen van de juiste variabelen :

milesDriven = 294
gallonsUsed = 10.5
mpg = milesDriven / gallonsUsed
print(mpg)

Zelfs een niet-programmeur kan nu begrijpen wat het programma eigenlijk doet. Een ander voorbeeld van slechte variabelnamen :

# moeilijk om te begrijpen
ir = 0.12
b = 12123.34
i = ir * b

# makkelijk om te begrijpen
interestvoet = 0.12
betalingsbalans = 12123.34
interestbedrag = interestvoet * betalingsbalans
Video: Creating a custom calculator program

In de IDLE editor is het mogelijk om een vorige lijn af te breken en verder te doen op de volgende zonder ze te hertypen. Dit doe je door je cursor te bewegen naar de lijn en dan de “enter” toets te drukken. Dat wordt de rest van de lijn gecopieerd naar de huidige lijn.

Python code toevoegen aan de >>> prompt is traag en kan alleen maar lijn per lijn. Het is ook niet mogelijk om code door te geven aan een andere persoon. Gelukkig is er een betere manier om Python code in te geven.

Python code kan je ingeven via een script. Een script is een reeks van lijnen Python code dat je allemaal tegelijk kan uitvoeren. Om een script aan te maken open je een nieuw window zoals in Figuur 1.2.

fig.entering_a_script
Figure 1.2: Entering a script

Geef het Python programma in voor het bereken van het verbruik van de wagen en bewaar de file. Bewaar de file met de extensie .py. See Figure 1.3.

fig.saving_mpg_calculator
Figure 1.3: Saving a script

Laat het programma lopen door het menu “Run” te selecteren en dan “Run Module”. Pas je programma aan met verschillende waarden voor miles driven en gallons used.

Opgepast, veelvoorkomende fout!

Vanaf nu moet alle code geschreven worden in een script/module. Niet typen in de IDLE >>> prompt. De code die je daar typt wordt niet bewaard. Wanneer je het toch doet moet je deze telkens opnieuw overtypen. Dit is een veelvoorkomende fout van nieuwe programmeurs.

Dit programma zou nog beter zijn indien er interactie zou zijn met de gebruiker om te vragen hoeveel mijl hij gereden heeft en hoeveel gallons hij verbruikt heeft. Dit kunnen we doen door gebruik te maken van een input statement.

# De code werkt bijna
milesDriven = input("Enter miles driven:")
gallonsUsed = input("Enter gallons used:")
mpg = milesDriven / gallonsUsed
print("Miles per gallon:", mpg)

Wanneer het programma loopt zal het de gebruiker vragen naar de miles en gallons, maar dit genereert een rare foutboodschap in Figure 1.4.

fig.mpg_program_error
Figure 1.4: Foutboodschap

De reden van de fout kunnen we aantonen door de programma een beetje te wijzigen:

milesDriven = input("Enter miles driven:")
gallonsUsed = input("Enter gallons used:")
x = milesDriven + gallonsUsed
print("Sum of m+g:",x)

Dit bovenstaande programma laten lopen toont het resultaat in Figuur 1.5.

fig.mpg_incorrect_addition
Figure 1.5: Foute optelling

Het programma telt geen twee getallen bij elkaar op, Het zet gewoon de twee getallen achter elkaar. Dit komt omdat het programma niet weet dat het over getallen gaat. De gebruiker kon ook “Bob” en “Mary” ingeven en dan zou je “BobMary” krijgen.

De input moet worden geconverteerd naar getallen

Om aan de computer te vertellen dat het over getallen gaat moet je rond de input functie int( ) of float( ) zetten. Int gebruik je voor gehele getallen (integers), en float gebruik je voor reele getallen.

Het finaal werkende programma:

# Sample Python/Pygame Programs
# Simpson College Computer Science
# http://programarcadegames.com/
# http://simpson.edu/computer-science/

# Explanation video: http://youtu.be/JK5ht5_m6Mk

# Calculate Miles Per Gallon
print("This program calculates mpg.")

# Get miles driven from the user
miles_driven = input("Enter miles driven:")
# Convert text entered to a
# floating point number
miles_driven = float(miles_driven)

# Get gallons used from the user
gallons_used = input("Enter gallons used:")
# Convert text entered to a
# floating point number
gallons_used = float(gallons_used)

# Calculate and print the answer
mpg = miles_driven / gallons_used
print("Miles per gallon:", mpg)

Variables:
milesDriven=
gallonsUsed=
mpg=
Output:
This program calculates mpg.
Enter miles driven:288
Enter gallons used:15
Miles per gallon: 19.2

Een ander voorbeeld, berekent de kinetische energie van een voorwerp:

# Sample Python/Pygame Programs
# Simpson College Computer Science
# http://programarcadegames.com/
# http://simpson.edu/computer-science/

# Calculate Kinetic Energy

print("This program calculates the kinetic energy of a moving object.")
m_string = input("Enter the object's mass in kilograms: ")
m = float(m_string)
v_string = input("Enter the object's speed in meters per second: ")
v = float(v_string)

e = 0.5 * m * v * v
print("The object has " + str(e) + " joules of energy.")

Om het programma in te korten is het mogelijk om het input statement en het float statement samen te voegen. Bijvoorbeeld:

 
milesDriven=input("Enter miles driven:")
milesDriven=float(milesDriven)

Doet hetzelfde als de volgende lijn :

milesDriven=float(input("Enter miles driven:"))

In dit geval wordt de output van de input functie meteen doorgegeven aan de float functie. Beide manieren werken. De keuze is aan de programmeur, maar hij kan maar beter beide manieren begrijpen.

1.11 Herhalingsvragen

Click here for a multiple-choice review quiz.

  1. Schrijf een codelijn dat je naam afprint.
  2. Hoe zet je commentaar in een programma?
  3. Wat geven de volgende codelijnen als output?
    print(2 / 3)
    print(2 // 3)
    
  4. Schrijf een codelijn dat een variabele aanmaakt met de naam pi en geef ze de juiste waarde.
  5. Waarom werkt de code niet?
    A = 22
    print(a)
    
  6. Al de onderstaande variabelen zijn bruikbaar, maar sommige hebben een betere dan andere. Welke zijn het best in gebruik?
    a
    A
    Area
    AREA
    area
    areaOfRectangle
    AreaOfRectangle
    
  7. Welke van de volgende variabelenamen zijn niet toegestaan in Python? (Het kan er meer dan één zijn.)
    apple
    Apple
    APPLE
    Apple2
    1Apple
    account number
    account_number
    account.number
    accountNumber
    account#
    
  8. Waarom werkt de code niet?
    print(a)
    a=45
    
  9. Leg de fout in de code uit:
    pi = float(3.14)
    
  10. Leg de fout in de code uit:
    radius = input("Radius:")
    x = 3.14
    pi = x
    area = pi  * radius ** 2
    
  11. Leg de fout in de code uit:
    a = ((x)*(y))
    
  12. Leg de fout in de code uit:
    radius = input(float("Enter the radius:"))
    
  13. Leg de fout in de code uit:
    area = π*radius**2
  14. Schrijf een codelijn dat de gebruiker vraagt naar de lengte van een zijde van een vierkant en het resultaat stockeert in een variabele. Zorg ervoor dat de waarde geconverteerd wordt naar een geheel getal.
  15. Schrijf een codelijn dat de oppervlakte van het vierkant print door gebruik te maken van wat de waarde dat gebruiker heeft ingegeven in de vorige oefening.
  16. Doe hetzelfde als in oefening 14 en 15, maar met de formule van een eclipse.
    $s=\pi ab$
    waar $a$ en $b$ de lengte zijn van de hoofdradialen.
  17. Doe hetzelfde als in oefening 14 en 15, maar met de formule om de druk van gas te vinden.
    $P=\dfrac{nRT}{V}$
    waarbij $n$ een getal is, $T$ de absolute temperatuur, $V$ is het volume, en $R$ is het gas (is een constant 8.3144).

    Zie http://en.wikipedia.org/wiki/Gas_constant voor meer informatie ivm gas.

1.12 Oefening

Werk Oefening 1 af vooraleer verder te gaan. Deze oefening behandelt het materiaal dat in dit hoofdstuk werd gebruikt.


You are not logged in. Log in here and track your progress.