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-parametrarnaDen exakta typkontrollen gör att True inte godtas som ett tal i just denna uppgift. I Python är bool annars en underklass till int.