Python如何将输入字符串的结果乘以

时间:2017-02-25 21:30:59

标签: python

我是一名尝试学习Python的编程初学者。我正在尝试完成以下练习:

  

编写程序以提示用户每小时和每小时的费率   计算总薪酬。

以下是我提出的建议:

hours = input("Enter number of hours worked\n")
rate = input("Enter pay rate per hour\n")
print(hours * rate)

当然,我收到错误:

TypeError: can't multiply sequence by non-int of type 'str'

如何告诉Python输入的结果应该被视为整数而不是字符串?

3 个答案:

答案 0 :(得分:2)

当然你需要在乘法之前转换为适当的类型,因为input(“”)返回用户输入的字符串。

转换如下:

rate -> float
hours -> int

这是为了确保在用户输入带小数的速率时不会出现小数点,例如 2.2

因此,您可以在代码中添加以下内容

hours = int(input("Enter number of hours worked\n"))
rate = float(input("Enter pay rate per hour\n"))
print(hours * rate) # int * float gives float

答案 1 :(得分:1)

来自输入函数的任何输入都存储为字符串,您必须在乘法之前将它们都转换为整数,如下所示:

hours = input("Enter number of hours worked\n")
hours = int(hours)
rate = input("Enter pay rate per hour\n")
rate = int(rate)
print(hours * rate)

答案 2 :(得分:0)

问题解决了:

hours = int(input("Enter number of hours worked\n"))
rate = int(input("Enter pay rate per hour\n"))

我认为int函数必须放在某处。