4 svar
93 visningar
Naturaretyvärr1 456
Postad: 17 jan 2021 19:37

varför tar man - 1 år?

Hejsan!

Jag har kommitsåhär långt på denna, skulle printa år och kollade facit men det visade sig att jag fått fel svar. Tydligen ska man skriva : år -= 1 

innan man print(år). Och jag förstår inte varför man ska ta -1 år. Förstår inte riktigt varför. Tack på förhand!

Laguna Online 30482
Postad: 17 jan 2021 20:00 Redigerad: 17 jan 2021 20:02

Förmodligen kan man inte dra över kontot, så om man konstaterar i koden att man har gjort det, så får man backa ett år för att komma till det sista året då det gick att ta ut pengar.

Edit: men med den tolkningen behövs det en liten ändring i koden: om kontot är tomt så gick det ju bra, så testet i slutet av loopen borde vara belopp < 0.

Man behöver förresten inte skriva

while repetera == True:

Det går lika bra med

while repetera:

Lindehaven 820 – Lärare
Postad: 17 jan 2021 20:03

Om belopp < 0 så fanns det inte pengar kvar på kontot. Eftersom du redan ökat år med 1 så behöver antal år då minskas med 1.

Koden bör först kontrollera att det finns tillräckligt med pengar på kontot innan pengar tas ut.  

Naturaretyvärr1 456
Postad: 17 jan 2021 20:08
Lindehaven skrev:

Om belopp < 0 så fanns det inte pengar kvar på kontot. Eftersom du redan ökat år med 1 så behöver antal år då minskas med 1.

Koden bör först kontrollera att det finns tillräckligt med pengar på kontot innan pengar tas ut.  

Ok tack! Men varför skriver man inte bara belopp = 0 isåfall? då slipper man väll ta -1 år? Innebär detta att om jag tar +1 år i början så måste jag ta -1 år i slutet om summan blir negativt? 

Naturaretyvärr1 456
Postad: 17 jan 2021 20:08
Laguna skrev:

Förmodligen kan man inte dra över kontot, så om man konstaterar i koden att man har gjort det, så får man backa ett år för att komma till det sista året då det gick att ta ut pengar.

Edit: men med den tolkningen behövs det en liten ändring i koden: om kontot är tomt så gick det ju bra, så testet i slutet av loopen borde vara belopp < 0.

Man behöver förresten inte skriva

while repetera == True:

Det går lika bra med

while repetera:

Tack! :)

Svara
Close