Я пытался решить эту проблему в своем классе, но я не могу понять математику правильно.
Используя For .. l oop, напишите программу для получения имени, оклада и штата 5 сотрудников. Рассчитайте федеральный налог, налог штата и зарплату net для каждого работника.
statetax = 0
fedtax = 0
employsalary = 0
netsalary = 0
for people in range(5):
employname = input("Please enter employee name: ")
employsalary = int(input("Please enter employee salary: "))
employstate = input("Please enter employee state: ")
if employsalary >= 100000:
fedtax = (employsalary * 20) / 100
else: # employsalary < 100000
fedtax = (employsalary * 15) / 100
if employstate == 'California' or 'Neveda' or 'Arizona' or 'Washington':
statetax = (employsalary * 10) / 100
elif employstate == 'Texas' or 'NewMexico' or 'Alabama':
statetax = (employsalary * 9) / 100
elif employstate == 'NewYork' or 'Illinois' or 'Wisconsin' or 'Delaware':
statetax = (employsalary * 8) / 100
else:
statetax = (employsalary * 12) / 100
netsalary = (employsalary - fedtax - statetax)
print(employname + ' federal tax is: ' +str(fedtax))
print(employname + ' state tax is: ' +str(statetax))
print(employname + ' net salary is: ' +str(netsalary))
. По какой-то причине расчеты неверны, если значение заработной платы умножается на 8 и 9 в двух разных заявления и я не могу понять, почему. Я надеюсь, что я объяснил это правильно. x_x