我正在尝试在给定输入后将字符串输入转换为浮点数。如果输入是字符串,则保留对输入执行某些操作的选项。我已经尝试了一些方法,但是它们会返回以下错误:

“ 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/

10-12 13:09