我试图在给出输入后将字符串输入转换为 float 。如果输入是字符串,则保留对输入执行某些操作的选项。我尝试了一些方法,但它们返回以下错误:
“类型错误:无法将序列乘以第 8 行‘float’类型的非 int”
下面是有效的代码,但我想将输入保留为字符串,并在给出输入后转换为 float :
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)
如何正确完成此操作?
谢谢!
最佳答案
您可以将转换为 float
作为单独的步骤,并创建新变量来保存 float
值。这会将您的原始输入保留为字符串。
h = input("Enter Hours:")
r = input("Enter Rate:")
h_float, r_float = map(float, (h, r))
b = 0.5 * r_float
p = computepay(h_float, r_float)
或者,您可以使用更详细的语法:
h_float = float(h)
r_float = float(r)
关于python - 自定义函数: converting string inputs to float after the input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52027037/