print
, range
och len
.
Men tänk om vi själva vill skapa motsvarande funktioner?
def
.
Till exempel i följande program skriver funktionen test
ut texten "Morjens!". Programmet anropar funktionen tre gånger.
def test(): print("Morjens!") testi() testi() testi()
Programmets utskrift är följande:
Morjens! Morjens! Morjens!
trappa
uttrycker parameter n
hur höga vi vill att trapporna som skrivs ut ska vara. Vi anropar funktionen två gånger med parametrarna 3 och 5.
def trappa(n): for i in range(1,n+1): print("#"*i) trappa(3) trappa(5)
Programmet ger följande resultat:
# ## ### # ## ### #### #####
return
i funktionen, som avlägsnas från funktionen och returnerar värdet.
Till exempel i följande program räknar funktionen summa
ut summan av talen a
...b
:
def summa(a,b): s = 0 for x in range(a,b+1): s += x return s print(summa(1,5)) print(summa(8,9))
Programmet räknar ut summorna 1+2+3+4+5 = 15 och 8+9 = 17:
15 17
a
och b
med Euklides algoritm:
def sgd(a,b): if b == 0: return a else: return sgd(b,a%b) print(sgd(4,6)) print(sgd(9,14)) print(sgd(24,60))Programmets utskrift är följande:
2 1 12
rad
som skriver ut en rad som har n
stjärnor.
Använd din funktion i följande program
som också testar den.
def rad(n): # skriv din kod här rad(5) rad(10) rad(8)
Programmets utskrift bör vara följande:
***** ********** ********
Skriv ditt program här:
box
som skriver ut text i en box
vars ränder är stjärnor.
Använd din funktion i följande program
som också testar den:
def box(text): # skriv din kod här box("apa") box("banan") box("cembalo")
Programmets utskrift bör vara följande:
******* * apa * ******* ********* * banan * ********* *********** * cembalo * ***********
Skriv ditt program här:
fakultet
som räknar ut fakulteten av n
.
Använd din funktion i följande program
som också testar den:
def fakultet(n): # skriv din kod här print(fakultet(3)) print(fakultet(5)) print(fakultet(9))
Programmets utskrift bör vara följande:
6 120 362880
Skriv ditt program här:
summa
som räknar ut summan av talen i en lista.
Använd din funktion i följande program
som också testar den:
def summa(lista): # skriv din kod här print(summa([1,2,3])) print(summa([5,1,7,2,5])) print(summa([4]))
Programmets utskrift bör vara följande:
6 20 4
Skriv ditt program här:
baklanges
som returnerar en sträng baklänges.
Använd din funktion i följande program
som också testar den:
def baklanges(text): # skriv din kod här print(baklanges("apa")) print(baklanges("banan")) print(baklanges("cembalo"))
Programmets utskrift bör vara följande:
apa nanab olabmec
Skriv ditt program här:
delare
som returnerar en lista som innehåller
alla delare av talet n
,
från minsta till största.
Använd din funktion i följande program
som också testar den:
def delare(n): # skriv din kod här print(delare(6)) print(delare(7)) print(delare(8)) print(delare(980)) print(delare(12345))
Programmets utskrift bör vara följande:
[2, 3] [7] [2, 2, 2] [2, 2, 5, 7, 7] [3, 5, 823]
Skriv ditt program här: