问题描述
我正在尝试计算双周薪水,随着薪水的增加计算税率。当我使用 if/else 语句更改不同工资的税率时,它给了我一个错误。
salary = (input('Enter salary: '))
marital_status = input('Enter marital status M for married or S for other: ')
if marital_status is 'S':
if salary <= 10000.00:
print(salary * .05)
else salary <= 50000.00:
print(500.00 + (salary * .105)
else salary > 50000.00
print(4700.00 + (salary * .2025)
解决方法
使用‘float(string)’函数转换您通过输入接受的字符串。
,除了 Roger 的评论之外,您的代码中还有一些未封闭的括号。 另外,也许您应该使用 elif 而不是 else 作为 else 语句测试条件。
,如果我相信,您应该使用 elif 代替 else。我不知道为什么,但问题是由您的循环中的浮点数引起的,并且如前所述,您的代码中有未闭合的括号。无法解释解决方案,但这里是工作代码。
salary = float(input("Enter salary: "))
marital_status = input("Enter marital status M for married or S for other: ")
if marital_stat == "S":
if salary <= 10000:
print(salary * 0.05)
elif salary <= 50000:
print(salary * 0.105)
elif salary > 50000:
print(4700 + (salary*0.2025))