2 svar
168 visningar
Lion 293
Postad: 7 feb 2021 13:07

Funktioner

Skriv en funktion som tar tre parametrar och med följande krav: Parametrarna skall bestå av två tal och ett tecken (teckensträng med ett tecken). Tecknet skall förväntas vara " +, -,  *,  /". Funktionen skall returnera ett tal. Funktionen skall avgöra vilken matematisk operation som skall utföras mellan de två heltalen samt utföra den och returnera resultatet.

Ex på anrop:

resultatet= calc (t1, t2, operator) 

Där t1, t2 och operator är variabler som du läst in värdena till i huvudprogrammet och resultat skall skrivas ut.

 

Jag vet inte hur jag ska börja, och jag vet inte hur man kan göra operatorn variabel. Men det är typ så jag tänker.

def en_funktion(a, b, c):
    y= a c b
    return y

resultat= en_funktion(5, 7, *)

Hur ska jag fixa den och fortsätta

Skaft 2373 – F.d. Moderator
Postad: 7 feb 2021 13:28

Operatorn ska vara en teckensträng med ett tecken. Du behöver alltså strängfnuttar runt operatorn när du skickar in den i funktionen: "*" istället för bara *.

Inuti funktionen kan du använda if-satser för att särskilja de olika operatorerna, och göra olika beräkningar beroende på vad som skickats in.

Lindehaven 820 – Lärare
Postad: 9 feb 2021 11:38
def calc(a, b, operator):
    if operator == '+':
        y = a + b
    ... här behöver du skriva resten av koden ...
    return y

resultatet = calc(5, 7, '*')
Svara Avbryt
Close