Subtrahera en variabel med alla values i en dictionary
Hej!
Jag har försökt länge nu med att subtrahera min variabel "start_budget" med mina values i en dictionary "utgifter".
Det konstiga är att när jag kör programmet en gång, funkar det suveränt. Den kalkylerar budgeten helt rätt utifrån utgiften som finns i min dictionary. Problemet uppkommer när jag har mer än ett värde i min dictionary, då blir kalkylationerna helt fel.
Säg att jag sätter budgeten på 1000. Sedan lägger jag till en utgift i min dictionary "Hyra": "500"
I loopen nedan kan jag ändra "Hyra": "500" till "Hyra": "x" vilket fungerar jättebra när jag endast har ett värde i min dict - Då blir "start_budget" rätt. När jag har "Hyra": "500 och "Hund": "100" (Budget: 600) och sedan byter ut "Hund": "100" till värdet 200 - Då blir kalkylationen helt fel, det borde ge mig Budget: 300 men istället får jag Budget: 100.
Har kollat i dict och alla värden där är rätt. Hyra 500, Hund, 200 = 700 vilket borde lämna mig med 300 men budgeten sätts på 100 istället.
Det som ligger i fokus och som jag vill få rätt på är:
start_budget += start_budget - sum(int(v) for k, v in utgifter.items())
Här är hela loopen:
while True:
try:
ändra_belopp = int(input(f"Ange ett nytt maxbelopp: "))
if ändra_belopp >= 0:
utgifter[utgift_lista[ändra - 1]] = ändra_belopp
start_budget += start_budget - sum(int(v) for k, v in utgifter.items())
rensa()
huvudloop()
except ValueError:
print("")
Jag förstår inte helt hur budgetberäkningen ska gå till, men jag tycker det ser konstigt ut med start_budget += start_budget - nånting.
Jag skulle kunna tänka mig att
start_budget = start_budget - nånting
är rätt.
Förstår mig inte heller på detta.
Ponera att budgeten är 10 (kr)
budget = 10
jag har en dictionary med alla mina utgifter, jag vill att alla values i denna dictionary ska läggas ihop till ett int värde och sedan subtrahera 10 med värdena.
start_budget = start_budget - sum(int(v) for k, v in utgifter.items()) funkar ej då budgeten inte stämmer överens med summan i värdena.
Det är bäst att stoppa in spårutskrifter av allting före och efter den där raden, så du ser vad som händer