我正在尝试在给定输入后将字符串输入转换为浮点数。如果输入是字符串,则保留对输入执行某些操作的选项。我已经尝试了一些方法,但是它们会返回以下错误:
“ TypeError:无法在第8行上将序列乘以'float'类型的非整数
以下是有效的代码,但我想保留输入字符串并在给出输入后转换为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 - 自定义函数:将字符串输入转换为输入后的浮点数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52027037/