Я пытался решить эту задачу в своем классе, но я не могу понять математику правильно.
Используя цикл For.., напишите программу для получения имени, зарплаты и состояния 5 сотрудников. Рассчитайте федеральный налог, налог штата и чистую заработную плату для каждого работника.
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 в двух разных утверждениях, и я не могу понять, почему. Надеюсь, я объяснил это правильно. х_х
or
работает иначе. - person Saelyth   schedule 08.04.2020