kmom03 del 2
Detta seminarium tar upp följande områden: funktioner
Förberedelser (del 2)
Section titled “Förberedelser (del 2)”Hur kod funkar
Section titled “Hur kod funkar”-
Beskriv skillnaden på func01 och func02 nedan och visa hur respektive funktion anropas med målet att texten “I’m a function” ska skrivas ut.
def func01():print("I'm a function")def func02():return "I'm a function" -
Vad är det som är fel i func03() resp func04() nedan?
def func03():return "I'm a function"str = "Bye"print(str)def func04(what):print("I'm a function")print(what) -
Utgå från kod-avsnittet
def func05(start, end = 10):total = 0for i in range(start, end):total += ireturn totaldef func06():first = func05(10, 30)print(f"{first} and {func05(4)}")Ange vad som är:
- anrop
- lokal variabel
- parameter
- argument
- defaultargument
Tolka kod
Section titled “ Tolka kod”-
Anta kod-avsnittet nedan
def func07(value):value += 4nr = 10func07(nr)print(nr)Vad blir det för utskrift?
-
Anta kod-avsnittet nedan
def func08(phrase):phrase += "!"return phrasestring = "Python is fun"print(func08(string))print(string)Vad blir det för utskrift?
-
Anta kod-avsnittet nedan
def func09(param):result = "Number"if type(param) == str:result = "Text"elif type(param) == bool:result = "Boolean"return resultresult = func09(44)print(result)result = func09("True")print(result)Vad blir det för utskrift?
Praktisk uppgift
Section titled “ Praktisk uppgift”Börja med att planera er lösning och försök identifiera delproblem som kan testas tidigt. Använd gärna pseudokod för att formulera lösningar för de delproblem som identifierats och fundera över om det finns alternativ lösningarna. Vilka fördelar och/eller nackdelar kan de ha i så fall?
-
Skriv funktioner enligt
- average som tar emot tre tal, beräknar och returnerar medelvärdet av dessa.
- nr_of_100_bills som tar emot ett heltal motsvarande en summa pengar och returnerar antalet 100-lappar denna kan växlas till. Ex-vis ger argumentet 765 returen 7
- all_odd_numbers som tar emot heltal som representerar ett startvärde respektive ett slutvärde och som returnerar en sträng innehållande alla udda heltal mellan start- och slutvärdet. De udda talen ska vara separerade med komma. Exempelvis resulterar startvärdet 2 och slutvärdet 11 i att strängen “3, 5, 7, 9, 11, ” returneras.
- is_leap_year som tar emot ett årtal och returnerar sant eller falskt beroende på om årtalen motsvarar ett skottår eller ej. Ett skottår är årtal som är jämnt delbara med 400 eller jämnt delbart med 4 men inte med 100. Exempel på skottår är 1996, 2000, 2024. Exempel på år som inte är skottår är 1900 och 2023.
-
Gör en funktion namngiven menu som presenterar menyn
- Beräkna medelvärdet av 3 heltal
- Beräkna antalet 100-lappar för en penga-summa
- Presentera alla udda heltal inom ett intervall
- Avgör om ett år är ett skottår eller ej.
- Avsluta
och låter användaren mata in sitt val, vilket returneras.
-
Använd alla funktioner från uppgift 1. och 2. och gör ett program som presenterar menyn (från uppgift 2) och låter användaren mata in sitt val vilket hanteras av funktioner från uppgift 1. Användaren ska kunna göra nya val tills dess att hen väljer menyval 5.
-
Skapa en funktion som tar emot två strängar. Den första strängen ska vara en text. Den andra strängen ska innehålla alla tecken som ska plockas bort från första strängen. T.ex.
"python is fun fun fun","on". Då ska ni skapa en ny sträng som blir"pyth is fu fu fu". Den resulterande strängen ska returneras.