Python for lærere – Egentrening

Fire konsepter

2 Funksjoner

2.3 Kjekke å ha

Nå har vi lært oss 13 funksjoner, og jeg kan allerede nå se at jeg har vært litt for forsiktig i mitt anslag på 15. MEN…det er jo ikke sånn at man må kunne alle disse for å drive GOD programmeringsundervisning i grunnskolen. Jeg tenker at vi avlutter med litt diagrammer ++

pyplot.bar() / pyplot.plot()

Under ser du syntaxen for å lage stolpe- og linjediagram i python. Både bar() og plot() skal ha 2 argumenter, først etiketter langs x-aksen, deretter frekvensene (eller verdiene). Disse skal legges inn i lister:

				from matplotlib import pyplot

x_verdier = ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun"]
y_verdier = [-4, -6, 4, 12, 10, 18]
pyplot.plot(x_verdier, y_verdier) # Bytt ut med .bar() for stolpediagram
			

pyplot finnes ikke i standard-biblioteket i python, og må derfor importeres fra biblioteket matplotlib.

pyplot.title() / pyplot.xlabel() / pyplot.ylabel() / pyplot.ylim() / pyplot.grid()

Nå kjører vi på; 5 funksjoner på en gang. Disse funksjonene er litt selvforklarende, så jeg nøyer meg med å vise syntaxen:

				from matplotlib import pyplot

x_verdier = ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun"]
y_verdier = [-4, -6, 4, 12, 10, 18]
pyplot.title("Temperaturer i Moss")
pyplot.xlabel("Måneder")
pyplot.ylabel("Temperatur")
pyplot.ylim(-10, 20)
pyplot.grid()
pyplot.plot(x_verdier, y_verdier) # Bytt ut med .bar() for stolpediagram
			
pyplot.pie()

Vi må selvfølgelig også kunne legge inn et sektordiagram. Det gjøres med pyplot.pie():

				from matplotlib import pyplot

frekvenser = [25, 82, 39, 12, 88, 47]
pyplot.pie(frekvenser)
			

Det er ikke mye info som skal til for å lage et sektordiagram, men dette kommuniserer svært dårlig. La oss legge til prosenter og litt etiketter:

				from matplotlib import pyplot

frekvenser = [25, 82, 39, 12, 88, 147]
etiketter = ["Ford", "Toyota", "Nissan", "Kia", "Tesla", "Andre"]
pyplot.title("Biler på parkeringsplassen")
pyplot.pie(frekvenser, labels = etiketter, autopct='%1.1f%%')
			

Skal vi si at det holder med diagrammer? Vi sjekker heller ut noen andre nyttige (?) funksjoner:

type()

type() tar ett argument, og returnerer datatypen til dette argumentet:

				pi = "3.14"
print(type(pi))
			

Prøv denne koden, men prøv først å gjette hva output kommer til å bli. Prøv med andre variabler også…

choice()

choice() returnerer et tilfeldig element fra en liste, men endrer ikke lista.

				from random import choice

navn = ["Ole", "Dole", "Doffen"]
valg = choice(navn)
print("Den heldige er: ", valg)
			

random-biblioteket inneholder mange praktiske funksjoner…

remove()

remove() fjerner et element fra en liste:

				from random import choice

navn = ["Ole", "Dole", "Doffen"]
print(navn)
valg = choice(navn)
navn.remove(valg)
print("Den heldige er: ", valg)
print(navn)
			

Huffda….det ble 11 nye funksjoner det. Da er vi oppe i 24 stykker, men jeg mener fortsatt at dersom du kan 10-15 stykker så er det nok til å kunne drive god undervisning i matematikk-faget.

…og husk: En av styrkene til python er at det finnes fryklig mange biblioteker og funksjoner. Uansett hva du driver med, så kan python hjelpe deg med tilpassede funksjoner. Personlig kan jeg under en promille av alle mulige funksjoner, men jeg lærer meg de jeg trenger 😉

Forrige – 2.2 Andre nyttige funksjoner

Neste – 3.1 For-løkker

DigitAbel – for dypere læring