Commit f086b8b0 authored by Børge Haugset's avatar Børge Haugset

første versjon av denne ukens kode

parent 99166ce0
# Disse funksjonene viser at en kan kalle funksjoner fra andre.
# hovedprogrammer kallet main()
# main kaller finn_streng_og_plass()
# så kaller den skriv_bokstav()
def finn_streng_og_plass():
while True:
streng = input('Streng: ')
plass = int(input(f'Tall mellom 0 og {len(streng)-1}: '))
if plass > len(streng) -1:
continue
else:
return streng, plass
def skriv_bokstav(strengen, valg):
print(f'På plass nummer {valg} i strengen '\
f'{strengen} kommer {strengen[valg]}')
def main():
tekst, tall = finn_streng_og_plass()
skriv_bokstav(tekst, tall)
main()
\ No newline at end of file
def a():
print('starten av a')
foo = 12
print(' A ' + b())
print('slutten av a')
def b():
print('starten av b', foo)
return 'B ' + c()
print('slutten av b')
def c():
print('starten av c')
return 'C'
print('slutten av b')
print(a())
\ No newline at end of file
# Oppsummering fra sist
sikkerhetsklarert = False
while True:
navn = input("Skriv inn det hemmelige passordet: ")
if navn == 'Børge':
print('Børge? Du slipper aaaaaldri over denne broen!')
break
if navn == 'Rappo':
if input('Rappo hvem?') == 'reven Rappo':
sikkerhetsklarert = True
break
print(f'Ble du sikkerhetsklarert? {sikkerhetsklarert}')
# Funksjoner
# Første linje: 'funksjonshode' - husk parenteser og kolon!
def funksjonsnavn(innparameter1, innparameter2): # 1 og 41 blir her parametre
# kodeblokk med ting en må gjøre for å komme til svaret
svar = innparameter1 + innparameter2 # Bare et eksempel, altså
return svar # valgfritt om en returnerer noe spesifikt
print(funksjonsnavn(1, 3))
# Et kjapt eksempel:
def gange(tall1, tall2):
return tall1 * tall2
print(f'2*3 = {gange(2,3)}')
# Dagens plan:
# Flere funksjoner:
# Sjekk ut flere_funksjoner.py
# skop: sjekk ut skop.py
# - legg merke til at bruken av samme variabelnavn
# - legg merke til at funksjonen kjenner til navn
# - legg merke til at kode utenfor en funksjon ikke kjenner til en inni!
# Vis ppt-siden med skoping, Terje side 4 fra uke 39
# Globale variable:
# Sjekk ut globale_variable.py
# ppt Terje s6 uke 39
# I Ronja Røverdatter får Ronja beskjed om å passe
# seg for elva. Men man kan jo ikke passe seg for
# elva midt i skogen. Derfor passet hun seg for elva
# VED elva, eller heller ved å hoppe over den.
# Slik er det med global. Du må forstå, men du må unngå.
# Å definere en variabel som 'global' på denne måten
# er ikke det samme som skop, dette gjør at en kan endre
# på en global variabel innefra en funksjon.
def en_helt_vanlig_funksjon(var):
global variabel # Dette magiske ordet er et frikort
# Kommenter ut linjen over og se hva som skjer!
variabel = var * 10
variabel = 10
print(f'Her er variabel {variabel}')
en_helt_vanlig_funksjon(variabel)
print(f'Nå er variabel {variabel}')
# bruk av global er noe vi ikke liker.
# Ikke gjør dette hjemme. Eller på eksamen.
# Eller på hybelen. Eller hos kjæresten.
\ No newline at end of file
def legg_ti_til_tall(tall):
# Tall er også en lokal variabel, men navnet overskygger
# tall i fra hovedprogrammet.
tall += 10 # Begge heter tall!
print(f'Hvordan vet denne funksjonen at navn er "{navn}"?')
lokal_variabel = 'hemmelig'
return tall
navn = 'Børge'
tall = 10 # Begge heter tall!
nyttall = legg_ti_til_tall(tall)
print(tall, nyttall) # Se hvordan tall her er 10
print(lokal_variabel) # Hvorfor feiler denne?
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment