2017-02-25 216 views
0

我是一名试图学习Python的编程初学者。我试图完成下面的练习:Python如何将输入字符串的结果相乘

Write a program to prompt the user for hours and rate per hour to compute gross pay.

这就是我想出了:

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

从输入功能的输入被存储为字符串,你有这样的相乘之前,他们都转换为整数:

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

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

的换算如下:

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 
0

问题解决了:

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

我想int函数必须放在那里。

+0

哇!没有得到通知,我收到了一些答案。现在我看到有几种不同的方式来做到这一点。非常感谢大家。 –

相关问题