python - 自定义函数: converting string inputs to float after the input

标签 python string python-3.x input

我试图在给出输入后将字符串输入转换为 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/

相关文章:

python - 太空侵略者计划

javascript - Javascript concat() 方法中第一个参数的用途是什么?

javascript - 我如何使用 JavaScript 从数字 + 度量单位字符串中提取数字?

python - 为已安装的字体创建标签名称并以字体样式显示字体名称

python - 使用 Python 的 MQTT 和 SQLite3 通信

python - 在 python 中执行 ls 输出魔术

python - ZeroMQ 有效的 .recv() 标志是什么?

java - Java中字符串的奇怪输出

python - 创建函数,向范围添加参数

python - Wxpython 如何更改Windows中Gauge Progress bar的颜色