结果=总和(员工薪水) 类型错误: 不支持的操作数类型 +: 'int' 和 'str'



我正试图在下面代码中的点之后用2位数的浮点数求和员工工资,但给了我这个错误。

我明白错误的类型,但不幸的是,我不知道如何修复它。我尝试了不同的方法,但出现了相同的错误。

staffName=[]
staffSalary=[]
for name in range(0,5):
print('Enter staff name:')
staffName.append(input())
for salary in range(0,5):
print('Enter salary:')
staffSalary.append("{:.2f}".format(float(input())))
print('Staff details entered:n')
for i in range(0,5):
print(staffName[i], ' ', staffSalary[i])
result=sum(staffSalary)
print('nTotal salary amount is: ', result)
totalIncrease=(result * 10) / 100 + result
print('Total salary amount with 10% increase: ',totalIncrease)

在您的行staffSalary.append("{:.2f}".format(float(input())))中,看起来您正在接受输入并将其转换为浮点数(听起来正确),但随后您将其转换为字符串。所以你最终添加到列表中的是一个字符串,而不是浮点数。

我认为你只想要staffSalary.append(float(input())。然后列表将包含所有浮点数项。当你有一个包含这些数字的字符串时,你可以做一些字符串转换。

最新更新