""" Oppgave 1 Hva skrives ut her? Diskuter med gruppen. """ x = 3 while x < 10: x += 1 print(x) # Det som skrives ut er 10 """ Oppgave 2 Skriv et program med en variabel a med verdien 1 og en while-løkke. For hver runde i while-løkken skal variabelen a ganges med 2. Løkken skal være ferdig når verdien av a er større enn 100. Skriv så ut verdien av a. Hvilken verdi blir skrevet ut? """ a = 1 while a < 100: a = a * 2 #Det som skrives ut er 128. a = 1 --> 2 --> 4 --> 8 --> 16 --> 32 --> 64 (dette er det siste tallet som går inn i while-løkken) --> 128 """ Oppgave 3 Hva tror du skrives ut på skjermen av programmet under? Diskuter med gruppen. """ tekst = ["hadet", "på", "badet", "din", "gamle", "sjokolade"] indeks = 0 while indeks < len(tekst): print(tekst[indeks]) indeks += 2 #Det som blir skrevet ut er "hadet", "badet", "gamle". #Vi henter ut indeks 0 fra listen, så øker vi indeks med 2, og henter ut indeks 2 fra listen osv. """ Oppgave 4 Skriv et program med en prosedyre print_hei, prosedyren skal skrive ut teksten “Hei” til skjermen. Definer en variabel a med en verdi 5 og lag en while-løkke, løkken skal kalle prosedyren print_hei. Bruk variabelen a slik at løkken er ferdig etter du har kalt print_hei 5 ganger. Løs oppgaven både ved hjelp av while-løkke og for-løkke: """ def print_hei(): print("Hei") # Løsning med while-løkke: a = 5 while a > 0: print_hei() a -= 1 # Man kan trekke fra telleren (a) istedenfor å legge til. # Løsning med for-løkke: for i in range(5): print_hei() """ Oppgave 5 Skriv et program som inneholder en while-løkke. Inne i løkken skal bruker bes om å taste et tall. Dersom tallet ikke er 10, skal løkken fortsette å be om tall. Når bruker taster inn tallet 10, skal brukeren få beskjeden “Du har tastet inn tallet 10. Programmet avsluttes …” før programmet så avslutter. Utfordring: summer sammen alle tallene brukeren skriver inn frem til 10 blir tastet. Når 10 tastes inn skrives summen ut. Dvs. hvis bruker taster sekvensen 1 - 3 - 4 - 10, skrives det ut “Sum er: 8” før programmet avsluttes. """ sumTall = 0 tall = int(input("Skriv inn et tall. Tast 10 for å avslutte.")) while tall != 10: sumTall += tall tall = int(input("Skriv inn et tall. Tast 10 for å avslutte.")) print("Sum er:" , sumTall) """ Oppgave 6 Hva skrives ut på skjermen av programmer under? Her kan det være nyttig å skrive ned verdiene av a og b for hver iterasjon av løkken. """ a = 10 b = 1 while a > 0 : b = b * 2 a = a - b print("a =", a) print("b =", b) # Det som skrives ut er: # "a = -4" # "b = 8" # Den siste gangen programmet går inn i whilen, er a = 4 og b = 4. Inni whilen økes b til 8, og a blir da 4 - 8 som er -4. # Deretter går ikke programmet inn i løkken igjen, fordi utrykket i whilen ikke stemmer lenger. """ Oppgave 7 Gitt mengden (!NB ikke liste) : """ tall_rekke = {3, 6, 8, 1} #Husk at mangder ikke har indekser! storrelsenPaaMengden = len(tall_rekke) sumTall = 0 for i in range(storrelsenPaaMengden): #Forteller kun hvor mange ganger vi må hente ut et element, ikke hvilket element vi skal hente ut. sumTall += tall_rekke.pop() #henter ut og sletter et vilkårlig element i mengden. Merk at siden den sletter elementet etterpå, har ikke rekkefølgen noe å si. Vi møter ikke det samme elementet flere ganger. print(sumTall) """ Oppgave 8 Skriv en prosedyre “storst_av_to” som tar imot to tall som parametre og skriver ut verdien til det største tallet. """ def finnStoerste(tall1, tall2): if tall1 > tall2: print(tall1) elif tall2 > tall1: print(tall2) else: print("De er like store") """ Oppgave 9 Hva skrives ut her? """ def skriv_historie(forst, andre, tredje) : print(forst, “dro paa ferie med “, tredje, “de ville dra uten “, andre, “ men “, andre, “snek seg med i bagasjerommet..”) navn1 = “Silje” navn2 = “Ole ” navn3 = “Jakob” navneliste = [“Emilie”, “Haakon”, “Yulai”] skriv_historie(“Kari”, “Per”, “Martin”) skriv_historie(navneliste[0], navn3, navn1] skriv_historie(navn2 + navn3, navneliste[1], navneliste[2]) #1: Kari dro paa ferie med Martin de ville dra uten Per, men Per snek seg med i bagasjerommet..” #2: Emilie dro paa ferie med Silje de ville dra uten Jakob, men Jakob snek seg med i bagasjerommet..” #3: OleJakob dro paa ferie med Haakon de ville dra uten Yulai, men Yulai snek seg med i bagasjerommet..” """ Oppgave 10 (Du skal nå endre på oppgave 8): Skriv en funksjon “storst_av_to” som tar imot to tall som parametre og returnerer det største tallet. Deretter skrives tallet ut etter funksjonskallet. """ def stoerst_av_to(tall1, tall2): #Her tar jeg ikke høyde for at tallene kan være like. if tall1 > tall2: return tall1 #Ettersom programmet hopper ut av funksjonen hvis den returnerer, trenger vi ikke ha en else. return tall2 #Dersom programmet ikke har returnert før denne linjen, kan vi trygt gå utifra at tall2 er større enn tall1, og vi kan returnere tall2. #Funksjonen over er den samme som funksjonen under: def stoerst_av_to(tall1, tall2): if tall1 > tall2: return tall1 else: return tall2