Python
代码-1
hrs = input("Enter Hours:")
rate = input("Enter Rate:")
pay = float(hrs * rate)
print("Pay:", pay)
代码-2
hrs = input("Enter Hours:")
rate = input("Enter Rate:")
pay = float(hrs) * float(rate)
print("Pay:", pay)
在执行代码时-1我收到以下错误- “ TypeError:不能在第5行上将序列乘以'str'类型的非整数”,但是代码-2完全可以正常运行。我只想知道这两个代码之间真的有什么区别吗?如果是,那是什么? (我是刚开始编程的新手)
答案 0 :(得分:2)
此代码float(hrs * rate)
无法工作,因为hrs
和rate
都是字符串。您期望"hello" * "world"
的结果是什么?
另一方面,当您执行float(hrs) * float(rate)
时,您会将两次调用float
的结果相乘-换句话说,您将两个浮点数相乘。
答案 1 :(得分:0)
在第一个代码中,您首先将2个变量相乘,然后将其转换为float
,但是如果其中一个变量为str
(在这种情况下均为两者),则将出现错误。
在第二个代码中,您在乘法之前将它们分别转换为float
,这就是为什么完全没有错误的原因