# L?ringsm?l, uke 2: # Forst? hvordan ¨Śn enkelt linje utf?res: # datatyper, evaluering av uttrykk og funksjoner (input, int, float, str, etc.) # Ha god forst?else av variabler # Forst? og kunne bruke enkle prosedyrer uten parametre # Forst? hvordan et helt program utf?res - kodeflyt fra linje til linje, # inkludert for beslutninger og prosedyrer uten parametere #typer #streng/string streng = "Hei, jeg er en streng" #heltall/int heltall = 36 #flyttall/float flyttall = 2.3 # sjekker datatypen til variablene print(type(streng)) print(type(heltall)) print(type(flyttall)) #Oppgave 1: lag en prosedyre som skriver ut "Hello World" #oppretter prosedyren def hello(): #skriver ut "Hello World!" print("Hello World!") #kaller p? prosedyren hello() hello() hello() hello() # Oppgave 2, to og to # Lag fire variabler, heltall1, heltall2, flyttall1 og flyttall2. # Tilordne variablene tall som passer med variabelnavnene ved bruk av input(). # Skriv ut summen og produktet av de to heltallene, deretter av de to flyttallene. # Unders?k hva som skrives ut i terminalen n?r dere summerer og multipliserer et # heltall med et flyttall. Hva ser dere? Finn ut hvorfor oppf?rselen er slik. # Hva skjer hvis dere summerer et heltall eller et flyttall med en tekststreng? #lager variabler heltall1 = int(input("Gi meg et helt tall: ")) heltall2 = int(input("Gi meg et helt tall til: ")) flyttall1 = float(input("Gi meg et tall med komma: ")) flyttall2 = float(input("Gi meg et tall med komma til: ")) #skrive ut summen av heltallene print(heltall1+heltall2) #skrive ut produktet print(heltall1*heltall2) #skrive ut summen av flyttallene print(flyttall1+flyttall2) #skrive ut produktet print(flyttall1*flyttall2) #fors?ker ? blande heltall og flyttall print(heltall1+flyttall1) print(heltall2*flyttall2) # Oppgave 3 # Beskriv flyten i programmet nedenfor i detalj (n?r hvilke programlinjer kj?res og # hva som n?yaktig skjer i hver programlinje). Skriv deretter koden inn i Python Tutor og # sammenlign Python Tutors beskrivelse av programflyten med deres egen. def opprett_bankkonto(): # print("Velkommen til opprettelse av bankkonto!") # saldo = float(input("Skriv inn inng?ende saldo: ")) # (input er 1000) if(saldo == 0): # print("Du kan ikke opprette konto med 0 kroner.") # elif(saldo < 0): # print("Du kan ikke opprette konto med et negativt bel?p.") # else: # print("Konto er opprettet med " + str(saldo) + " kroner.") # opprett_bankkonto() # #legg koden inn i Python Tutor og se om du hadde rett! #livekoding av quiz-oppgaven fra forrige uke # Sp?rsm?lene: # Hva er hovedstaden i Norge? Oslo # Hva heter komponisten Grieg til fornavn? Edvard # Hvilken norsk maler deler Edvard Grieg fornavn med? Edvard Munch # Hvor f?r man b?rek p? IFI? Dana # Brukeren skal f? tilbakemelding etter hvert sp?rsm?l om det er riktig eller feil svar. # Er det feil, skal brukeren f? en ny linje med hva som var riktig. # Ekstra vanskelig!!!! Gi brukeren en poengsum med hvor mange riktige! # Husk hva dere gjorde i oblig 1 oppgave 1 da dere oppdaterte en variabel :D # Gj?r trix oppgaver! poengsum = 0 print("Hei og velkommen til gruppe 4 sin fantastiske quiz!") #sp?rms?l 1 svar1 = input("Hva er hovedstaden i Norge?") riktig_svar1 = "Oslo" if riktig_svar1 == svar1: print("Riktig!!") poengsum = poengsum + 1 else: print("Feil :(((") print("Riktig svar er:", riktig_svar1) #sp?rsm?l 2 svar2 = input("Hva heter komponisten Grieg til fornavn?") riktig_svar2 = "Edvard" if riktig_svar2 == svar2: print("Riktig!!") poengsum = poengsum + 1 else: print("Feil :(((") print("Riktig svar er:", riktig_svar2) #sp?rsm?l 3 svar3 = input("Hvilken norsk maler deler Edvard Grieg fornavn med?") riktig_svar3 = "Edvard Munch" if riktig_svar3 == svar3: print("Riktig!!") poengsum = poengsum + 1 else: print("Feil :(((") print("Riktig svar er:", riktig_svar3) #sp?rsm?l 4 svar4 = input("Hvor f?r man b?rek p? IFI?") riktig_svar4 = "Dana" if riktig_svar4 == svar4: print("Riktig!!") poengsum = poengsum + 1 else: print("Feil :(((") print("Riktig svar er:", riktig_svar4) #ulike m?ter ? printe poengsum #f-string (fra trix 01.12) print(f"Din poengsum er: {poengsum}") print("Din poengsum er:", poengsum) print("Din poengsum er: " + str(poengsum)) #sjekker hvor mange poeng bruker har f?tt if poengsum == 0: print("Ingen riktig :((") elif poengsum == 1: print(f"Poengsum: {poengsum} \nDet var kanskje ikke s? bra :(") elif poengsum == 2: print("Du fikk halvparten riktig!") #hvis poengsum er mindre eller lik 4 (HUSK KODEFLYT!!) elif poengsum <= 4: print(f"Kjempe bra! Du fikk: {poengsum} poeng!") #n?stet if, ekstra kommentar til full pott if poengsum == 4: print("Stjerna!") else: print(f"Her har det skjedd noe galt... poengsummen er {poengsum}?!?!?!?") # Oppgave 4 # Programmet nedenfor mangler funksjonalitet for ? legge til den st?rste summen # p? slutten av setningen. # Utvid programmet slik at setningen, inkludert den st?rste summen, skrives ut. # Tenk at tallene kan endre seg. # Hvilke hensyn tar dere til at summene da kan v?re like? # Diskuter og lag en plan for hva dere trenger i programmet f?r dere programmerer. # Se kj?ringen av programmet deres i Python Tutor. # Det er viktig at dere forst?r i detalj hva som skjer i hver # programlinje samt i hvilken rekkef?lge linjene kj?res. tall1 = 2.6 tall2 = 9.4572 sum1 = tall1 + tall2 tall3 = 1 tall4 = 11 sum2 = tall3 + tall4 setning = "Den st?rste summen er: " #hvis sum1 st?rre enn sum2 if sum1 > sum2: #f-string print(f"{setning}{sum1}. Dette er sum 1") #hvis sum1 mindre enn sum 2 elif sum1 < sum2: print(setning, sum2, "Sum 2") #hvis summene er like else: print("Summene er like!")