Cześć, mam następujący problem, otóż mam zrobić program który liczy podatki według tych zasad:
- jeżeli dochód obywatela nie był wyższy niż 85,528 talarów, podatek był równy 18% dochodu minus 556 talarów i 2 centy (była to tak zwana ulga podatkowa)
- jeżeli dochód był wyższy niż ta kwota, podatek był równy 14,839 talarów i 2 centy plus 32% nadwyżki ponad 85,528 talarów.
- Jeżeli obliczony podatek jest mniejszy od zera, oznacza to tylko brak podatku (podatek jest równy zeru). Weź to pod uwagę podczas swoich obliczeń.
I gdy odnoszę się do pierwszej kropki, na razie bez instrukcji to wszystko jest liczone poprawnie:
dochód = float(input("Wprowadź roczny dochód: "))
podatek = (dochód * 0.18) - 556.2
podatek = round(podatek, 0)
print("Podatek wynosi:", podatek)
jednak jeśli chcę połączyć wszystkie kropki, tak żeby program sam rozpoznał jaki jest dochód i ile ma wynosić podatek to coś się psuje i nie potrafię tego naprawić, próbowałem już wszystkich znanych mi sposobów rozwiązywania problemu, ale do niczego mnie to nie doprowadziło, oto kod z błędem, który ma w sobie instrukcje, która powinna rozpoznawać sposób obliczania podatku:
dochód = float(input("Wprowadź roczny dochód: "))
if dochód < 85.528:
podatek = (dochód * 0.18) - 556.2
else:
podatek = ((dochód - 85.528)*0.32) + 14839.2
if podatek < 0: podatek = 0
podatek = round(podatek, 0)
print("Podatek wynosi:", podatek)