Beholdere og l?kker - oppgaver
Sum opp til tall
Skriv en funksjon 'sum_opp_til(tall)' som tar inn et heltall som parameter, og som returnerer summen av alle heltallene opp til (og med) tallet. Test funksjonen (f.eks) slik:
assert sum_opp_til(10) == 55
Antall forekomster
Skriv en funksjon som tar inn en liste som parameter, og som returnerer en ordbok hvor n?klene er elementene i listen og verdiene er antall forekomster av hvert objekt. Kall p? funksjonen med (f.eks) testlisten under, og skriv ut resultatet.
Testliste: ['Siri', 'Geir Kjetil', 'Roger', 'Omid', 'Siri', 'Lars', 'Roger', 'Roger']
Vanligste element i liste
Skriv en funksjon som tar inn en liste som parameter, og som returnerer det elementet som forekommer flest ganger. Ikke bruk count(). Kall p? funksjonen med (f.eks) testlisten over, og skriv ut resultatet.
Navn i beholder
Skriv en prosedyre som lar en bruker skrive inn ulike navn, og lagre dem i en beholder. N?r brukeren har skrevet inn fem unike navn, skal prosedyren skrive ut "Hei navn" for hvert navn i beholderen.
Nest st?rste tall
Skriv en funksjon finn_nest_stoerste(mengde) som tar inn en mengde med positive tall som parameter, og som returnerer det nest st?rste tallet i listen. Test funksjonen din (f.eks) slik:
assert finn_nest_stoerste({1, 2, 3, 4}) == 3
assert finn_nest_stoerste({11, 5, 18, 19, 1, 0, 0, 34}) == 19
BONUS: Gj?r det samme, men hvor parameteret er en liste i stedet for mengde. Dersom det st?rste tallet forekommer flere ganger, skal du fortsatt returnere det nest st?rste.
Terningkastsimulator
Du skal skrive et program som finner ut hvor mange terningkast man trenger i gjennomsnitt for ? kaste to seksere.
- Skriv en funksjon 'kast_terninger()' som kaster to terninger og returnerer 'True' om begge er seksere, og 'False' om de ikke er det. Hint: du kan f? et tilfeldig terningkast ved ? bruke 'randint(1, 6)'. Husk ? skrive 'from random import randint' ?verst i programmet.
- Skriv en ny funksjon 'antall_kast_for_seksere()' som kaller p? 'kast_terninger()' i en l?kke, og returner antall ganger l?kken m? kj?re f?r 'kast_terninger()' returnerer 'True'.
- Skriv en tredje funksjon kalt 'finn_gjennomsnitt()' som tar inn et parameter antall_runder, som skal v?re et heltall. Funksjonen skal kalle p? 'antall_kast_for_seksere()' like mange ganger som antall_runder, og skal returnere det totale antallet kast delt p? antall_runder.
- Kall p? 'finn_gjennomsnitt()' med tallet 1000 som parameter, og skriv ut resultatet til terminalen.
Substreng
Skriv en funksjon substreng(s1, s2) som tar inn to strenger, og som returnerer 'True' om den andre strengen eksisterer i den f?rste, eller 'False'. Test funksjonen (f.eks) slik:
assert substreng("Hei paa deg!", "paa")
assert not substreng("Hei paa deg!", "p a")
UTFORDIRNG: Kattunge i et tre
Oppgaveteksten finnes her: https://open.kattis.com/problems/kitten