ÖVNINGSUPPGIFT

Uppgift 1 - Beräkna summan

Försök själv först. Ledtrådar och facit finns längre ner – helt utan inloggning.

Skapa en funktion sum_values(a, b) som summerar två tal. Namnet undviker att skugga Pythons inbyggda funktion sum().

A: Returnera summan

def sum_values(a, b):
    # Ersätt pass med din lösning.
    pass

print(sum_values(1, 2))

När funktionen är klar ska utskriften bli 3.

B: Vad händer med andra typer?

Prova heltal, flyttal och textsträngar. Två strängar kan sättas ihop med +, men en sträng och ett heltal kan inte adderas.

C: Kontrollera typerna

Låt bara int och float räknas som tal i denna uppgift. Funktionen ska returnera texten Felaktig datatyp på input-parametrarna för andra typer, även bool.

Ledtråd

Kontrollera varje parameter med type(value) in (int, float). Uttrycket type(value) == int or float fungerar inte som en typkontroll.

Lösning
def sum_values(a, b):
    if type(a) not in (int, float) or type(b) not in (int, float):
        return "Felaktig datatyp på input-parametrarna"
    return a + b

print(sum_values(1, 2))
print(sum_values(1.5, 2))
print(sum_values(1, "2"))
3
3.5
Felaktig datatyp på input-parametrarna

Den exakta typkontrollen gör att True inte godtas som ett tal i just denna uppgift. I Python är bool annars en underklass till int.