【发布时间】:2018-08-26 14:09:43
【问题描述】:
我正在尝试在给出输入后将字符串输入转换为浮点数。如果输入是字符串,则保留对输入执行某些操作的选项。我尝试了一些东西,但它们返回以下错误:
"TypeError: can't multiply sequence by non-int of type 'float' on line 8"
下面是有效的代码,但我想将输入保留为字符串并在给出输入后转换为浮点数:
def computepay(h,r):
if h<=40:
return h*r
else:
return h*r+((h-40)*b)
h = float(input("Enter Hours:"))
r = float(input("Enter Rate:"))
b = 0.5*r
p = computepay(h,r)
print(p)
这将如何正确完成?
谢谢!
【问题讨论】:
-
将其保留为字符串,仅在需要时转换为浮点数?我不太确定您在这里问什么...您面临的确切问题是什么,因为我看不到该代码将如何产生该错误...。
-
只是为了保持开放,将来我可能想看看如何将非数字作为输入识别为 - 或转换为浮点数;例如'hundred' 被识别为 '100' 并在后面的行中处理。例如,当我执行以下操作时会产生错误:输入行之后的 float(h) & float(r)。
标签: python string python-3.x input