Python opgaver.pdf

Transcription

Python opgaver.pdf
Kort intro til Python
19. marts 2014
Kort om python
Python er et højniveau programmerings sprog som kom frem i 1991, sproget
fokuserer på at producere læsbart kode ved at tvinge programmøren til at
indentere sin kode. Fordelen ved at bruge et højniveau programmeringssprog
er at programmøren kan lave det samme kode på færre linjer. Dette sker dog
ikke uden at man giver afkald på noget, i Pythons tilfælde vil man give afkald
på hastighed, da Python fortolkeren typisk er langsommere end kompileret
kode som fx. C eller Fortran.
Python opgaver
Opgave 1.0
Lav et program som finder summen af alle tal fra 1 til og med 1000.
Altså (1+2+3+4+5+...+1000)
Hint: Et for loop kunne bruges her!
Opgave 1.1a
Lav et program som finder summen af alle lige tal fra 1 til og med 1000.
Hint: For at teste om tallet er lige kan man bruge modulo1 (%) i python som
giver divisions resten.
Opgave 1.1b
Lav samme program som i 1.0, men denne gang i stedet for at teste hvert
eneste tal, så prøv at brug range(x,y,z) hvor x er det tal vi starter fra, y er
det tal vi går til(og ikke med!), og z er intervallet.
Opgave 1.1c
Lav et program som finder summen af alle ulige tal fra 1 til og med 1000.
Opgave 1.2
Prøv at lave et lille quiz program som stiller et spørgsmål, og tager input fra
bruger og giver svaret.
Hint: Brug funktionen raw_input() som tager input fra brugeren.
1
http://en.wikipedia.org/wiki/Modulo_operation
Stefan Eugen Duro
Side 1
Kort intro til Python
19. marts 2014
Kode eksempler
For loop
Eksempel på et For loop som går fra 1 til 9
fo r i in r a n g e ( 1 , 1 0 ) :
print ( i )
Dette stykke kode vil give følgende output:
1
2
3
4
5
6
7
8
9
Bemærk at range(1,10) kun går fra 1-9 og ikke inkludere 10.
If then
a = 4
b = 2
if a < b:
print ( "a␣ e r ␣ s t o r r e ␣ end ␣b ! " )
Dette kode vil give følgende output:
a e r s t o r r e end b !
If then else
Eksempel på et If then else statement:
a = True
b = False
i f a == b :
print ( "a␣ og ␣b␣ e r ␣ e n s ! " )
else :
print ( "a␣ og ␣b␣ e r ␣IKKE␣ e n s ! " )
Stefan Eugen Duro
Side 2
Kort intro til Python
19. marts 2014
Dette kode vil give følgende output:
a og b e r IKKE e n s !
else if
Hvis man ønsker at lave flere test på samme ting kan man gøre dette med
et Else if statement, et eksempel:
a = 3
b = 2
if a < b:
print ( "a␣ e r ␣ mindre ␣ end ␣b ! " )
elif a > b:
print ( "a␣ e r ␣ s t o r r e ␣ end ␣b ! " )
elif b < a:
print ( "b␣ e r ␣ mindre ␣ end ␣a ! " )
Dette kode vil give følgende output:
a e r s t o r r e end b !
Grunden til at vi får "a er storre end b!"og ikke "b er mindre end a!"eller
begge, er fordi det andet if statement bliver evalueret til sandt også slutter
evalueringen.
Sammenlignings operatorer
I if statements kan man bruge flere forskellige sammenlignings operatorer,
her er en lille liste med nogle af dem:
<
<=
>
>=
==
!=
Strengt mindre end
Mindre end eller lig
Strengt større end
Større end eller lig
lig
ikke lig
Bemærk at = ikke er en sammenlignings operator, men == er. = er en
assignment operator(Tillednings operator dansk.) og bruges kun til at tildele
variabler værdier.
Fejl
Her er vist nogle fejl som man typisk får i Python, og hvad grunden kan
være.
Stefan Eugen Duro
Side 3
Kort intro til Python
19. marts 2014
Syn taxEr ror : Non−ASCII c h a r a c t e r ’ \ xc3 ’ in f i l e
FILENAME. py on l i n e ? , but no e n c o d i n g d e c l a r e d ; s e e
h t t p : / /www. python . o r g / peps /pep −0263. html f o r
details
s h e l l returned 1
Denne fejl får man fordi man har brugt et non-ASCII tegn som fx æ,ø,å,
fjern alle æ,ø,å fra koden.
Ordliste
Indentere - Fordansket udgave af ordet Indent fra engelsk, som er handlingen af at rykke starten af linjen længere fra side margenen end resten af
teksten.
Stefan Eugen Duro
Side 4