6 svar
57 visningar
RaK00 31
Postad: 3 sep 2020

Beräkning av en summa

Hej! Håller på att öva på python, frågan är att man ska fråga efter antal paket och deras vikter. Jag har fixat den delen men har kvar att beräkna summan, dvs olika vikter har olika priser och jag har skrivit de i if-satsen men jag får ERROR hela tiden att p1 inte är definerad (som det vidad i bilden), kan någon hjälpa/tipsa mig med det!

Laguna 11665
Postad: 3 sep 2020

Ja, bara en av variablerna får ju ett värde i varje varv i loopen, och från början har ingen något värde. Vad borde hända, tycker du?

Jag föreslår att du använder en enda variabel p. Och sedan ska du väl öka på summan i varje varv?

RaK00 31
Postad: 3 sep 2020
Laguna skrev:

Ja, bara en av variablerna får ju ett värde i varje varv i loopen, och från början har ingen något värde. Vad borde hända, tycker du?

Jag föreslår att du använder en enda variabel p. Och sedan ska du väl öka på summan i varje varv?

I detta fall måste jag byta till while-satsen eller? Ska jag börja med en ny eller fortsätta med den jag hade från början?

Laguna 11665
Postad: 3 sep 2020

Förutom det jag påpekade så ser det bra ut, tycker jag.

RaK00 31
Postad: 3 sep 2020
Laguna skrev:

Ja, bara en av variablerna får ju ett värde i varje varv i loopen, och från början har ingen något värde. Vad borde hända, tycker du?

Jag föreslår att du använder en enda variabel p. Och sedan ska du väl öka på summan i varje varv?

Hur menar du med att jag ska öka summan? 

RaK00 31
Postad: 3 sep 2020
Laguna skrev:

Förutom det jag påpekade så ser det bra ut, tycker jag.

För jag tänkte typ att öka summan som jag gjorde i första steget, men det är ingen konstant värde, dvs jag har fyra värde, 23, 25,28 och 30. Hur ska man öka den i detta fall?

Istället för att skapa variabeln "summa" först i slutet, så kan du låta den variabeln börja på noll: summa=0, innan du läst in några värden alls. Sedan för varje nytt paket kan du öka summan. T.ex. för den lägsta viktklassen:

summa += v*30

+= utökar variabelns värde, det är en genväg som betyder samma sak som

summa = summa + v*30

På det här sättet behöver du alltså inte använda p-variablerna alls.

Svara Avbryt
Close