Gå til innhold

Uke 47

Denne uken jobbet vi med:

Ukens Kode

Vi laget en funksjon som genererte teksten vi laget i forrige uke på en mer effektiv måte:

1
2
3
4
5
def bestill_mattype(navn, topping):
    print("Vil du ha noe topping på din " + navn + "?")
    print("Vi har ulike toppinger: " + topping)
    svar = input("Ditt svar: ")
    print(f"En {navn} med {svar}, kommer straks.")

Her er det brukt to forskjellige metoder for å sette sammen variabler (navn, topping og svar) på, den ene er via matematikk (+), den andre er gjennom en f-string. Du kan lese om f-strings her: https://realpython.com/python-f-strings/

Vi kan benytte forrige ukes kode for å ta i bruk den nye funksjonen:

# start av kode
if __name__ == '__main__':
    print('Hva vil du ha?')
    print('1 for pannekake')
    print('2 for langpannekake')
    svar = input('Ditt svar:')
    if svar == '1':
        bestill_mattype('pannekake', 'vanlije og jordbær')
    elif svar == '2':
        bestill_mattype('langpannekake', 'krem og sjokolade')
    else:
        print('Velg mellom 1 og 2')

Utfordring

Lag en funksjon der man kan si nei til topping på matvaren, ved å for eksempel si “Nei”, eller “Nei takk”.

Merk at det finnes uttallige måter å oppnå resultatet på.

Fasit - enkel
1
2
3
4
5
6
7
8
def bestill_mattype(navn, topping):
   print("Vil du ha noe topping på din " + navn + "?")
   print("Vi har ulike toppinger: " + topping)
   svar = input("Ditt svar: ")
   if svar == 'nei takk':
       print(f"En {navn} uten topping, kommer straks.")
  else: 
      print(f"En {navn} med {svar}, kommer straks.")
Fasit - alternativ
1
2
3
4
5
6
7
8
9
def bestill_mattype(navn, topping):
   print("Vil du ha noe topping på din " + navn + "?")
   print("Vi har ulike toppinger: " + topping)
   svar = input("Ditt svar: ")
   # sjekk om svaret eksisterer i valg av topping
   if svar in topping:
       print(f"En {navn} med {svar}, kommer straks.")
  else: 
      print(f"En {navn} uten topping, kommer straks.")

Ting å tenke på

Husk at brukere kan gjøre feil, og det er ikke sikkert de alltid gjør det de skal. Hva vil skje dersom brukeren skriver “alt, takk” eller “ja takk begge deler”.

Å beherske brukerintensjoner er ikke enkelt - her programmerer vi et program der brukerflaten er en konsoll. I den virkelige verden kunne vi utviklet en touchskjerm meny med det vi har lært om HTML & CSS, for å oppnå en mer intuitiv opplevelse.


1 år siden 1 år siden GitHub Sondre Grønås