我需要两个字符串相乘的帮助

时间:2019-06-18 00:45:28

标签: python-3.x

运行下面的代码时遇到以下错误。

Traceback (most recent call last):
  File "C:\Users\ladyj\AppData\Local\Programs\Python\Python37-32\bv.py", line 5, in <module>
    earnings=str(base_salary*commission_rate)
TypeError: can't multiply sequence by non-int of type 'str'


base_salary = input(str('what is your base salary'))
commission_rate = input(str('what is your commission rate'))

earnings=str(base_salary*commission_rate)
print(earnings)

1 个答案:

答案 0 :(得分:0)

input将始终返回字符串,但是如果要使用它进行计算,则需要将其转换为数字。 float()函数将为您完成此操作。如果输入的值不是数字,则将出现ValueError。如果要检查此错误,可以使用try / except构造来捕获错误。

这是一些使用浮点数来完成您要尝试执行的工作的代码。

base_salary = float(input('What is your base salary? '))
commission_rate = float(input('What is your commission rate? '))
earnings = base_salary * commission_rate
print(f'{earnings:.2f}')

顺便说一句,我在佣金计算方面做了很多工作,我不确定我会以您的方式描述佣金率。通常我们谈论的是拆分,例如60/40,其中60%是基数,40%是佣金,在这种情况下,总收入的计算将是base / .6,但是您的解释可能有所不同。当我提到佣金率时,通常是以佣金形式支付的总销售额的百分比。