我正在使用if/else语句计算工资,并收到以下错误:TypeError:“<=”在“str”和“float”实例之间不受支持

2024-09-27 04:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算两周工资,计算工资增长时的税率。当我使用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)

Tags: orforinputifstatus错误语句else
3条回答

使用“float(string)”函数通过输入转换您正在接受的字符串

除了罗杰的评论,代码中还有一些未闭合的括号。 也可能您应该使用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))

相关问题 更多 >

    热门问题