传递变量而不是数字时,Python函数失败

时间:2016-02-20 20:42:12

标签: python function variables arguments

有人可以解释为什么这不起作用?当我使用数字作为参数时它可以工作,但是当我使用一个包含数字的变量时,它不起作用。

def convertF2C(f):
    c = (f - 32) / 1.8
    return c


num = input("Enter a number to convert:")
print("you entered:",num)
c = convertF2C(**num**)    \\If I use a number as the argument it works.
print(c)

3 个答案:

答案 0 :(得分:2)

您需要将参数从str转换为float

num = float(input("Enter a number to convert:"))

input的返回类型是str,它不是数字类型,因此在转换之前不能执行算术。

答案 1 :(得分:0)

我已经更改了您的代码并对其进行了测试,现在它已经完成了。

def convertF2C(f):
    c = (f - 32) / 1.8
    return c


num = input("Enter a number to convert:")
print("you entered:",num)
c = convertF2C(num)    #\\If I use a number as the argument it works.
print(c)

答案 2 :(得分:0)

你需要以下这样的东西

def convertF2C(f):
    c = (f - 32) / 1.8
    return c


num = int(raw_input("Enter a number to convert:"))
print("you entered:",str(num))
c = convertF2C(num)
print(c)