微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在使用 if/else 语句来计算薪水并收到此错误:TypeError: '<=' not supported between 'str' and 'float'

如何解决我正在使用 if/else 语句来计算薪水并收到此错误:TypeError: '<=' not supported between 'str' and 'float'

我正在尝试计算双周薪水,随着薪水的增加计算税率。当我使用 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))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。