我是一名尝试学习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输入的结果应该被视为整数而不是字符串?
答案 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函数必须放在某处。