Summering..
Hej! har denna uppg som inte vill funka. Nån som vill hjälpa till, tack...?
UPPG: Skriv en funktion som summerar alla tal i en lista
# Fyll i funktionen
def summera(a,b,c,d,e):
return (a+b+c+d+e)
summera(1,2,3,4,5) #denna rad skulle väl inte behövas?
if summera(1,2,3,4,5) == 15:
print("Bra jobbat!")
else:
print("Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är {}".format(summera([1,2,3,4,5])))
Du ska ta emot en lista, men du verkar ta emot 5 tal.
Du kan använda den inbyggda funktionen sum:
def summera(a):
return sum(a)
print(summera([1, 2, 3]))
Stort tack för hjälpen 🥇. Får nog nöta på en del tror jag! Missade hakparenteserna först men de är nu med.
Såhär blev det. Trevlig kväll
# Fyll i funktionen
def summera(a):
return sum (a)
#print (summera([1,2,3,4,5]))
if summera([1,2,3,4,6]) == 15:
print("Bra jobbat!")
else:
print("Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är {}".format(summera([1,2,3,4,5])))
Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är 15
Hej igen, efter att ha kollat noggrannare så tycker jag inte att koden gör vad den bör göra. Verkar inte som att den läser listan i "summera". Villkoren i if-satsen gås inte igenom..??
Här är hela koden:
# Fyll i funktionen
def summera(a):
return sum(a)
summera([1,2,3,4,5])
if summera([1,2,3,4,5]) == 15:
print("Bra jobbat!")
else:
print("Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är {}".format(summera([1,2,3,4,5])))
Vad skriver programmet ut nu?
Med dessa siffror skriver det ut : Bra jobbat!
Raden: summera([1,2,3,4,5]) verkar inte spela nån roll. Det kanske ska vara så också...?
Ja, det ensamma anropet har ingen effekt alls, man gör ju inget med returvärdet.
Okej, men jag tänkte att if-satsen, som den är skriven, skulle kunna ge ett av svaren (if eller else) samt svar på vilken summan på talserien man skrivit in...
Hur skulle koden för detta isf se ut? Vet du?
Jag förstår nog inte vad du menar. Gör inte if-satsen det nu?
Om jag summera: if summera([1,2,3,4,5]) == 15:
så blir svaret: Bra jobbat!
med detta: if summera([1,2,3,4,6]) == 15:
blir det: Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är 15. Varför skrivs då inte 16 ut?
Nåt stämmer inte med den här raden:
print("Summan av 1 + 2 + 3 + 4 + 5 borde ha blivit 15 men den är {}".format(summera([1,2,3,4,5])))
Det är förstås meningen att det ska stå samma sak på båda ställena, men det är bättre att göra anropet bara en gång.
Du kan skriva resultat = summera([1,2,3,4,5]) och sedan
if resultat == 15
och
format(resultat)
Men texten "Summan av 1+2+3+4+5" kan förstås fortfarande säga något annat än vad som faktiskt beräknades.
Okej nu börjar jag förstå...
Jag testar vidare. Får återkomma här på sidan om det ej funkar.
Tack för hjälpen så länge 😊