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: