0

我正在研究python温度转换器。它会将华氏温度转换为摄氏温度,反之亦然。我还没有将 if 语句或摄氏温度添加到华氏温度函数中。但是我在使用这个华氏到摄氏的函数时遇到了麻烦,

def F_C(x):
    x = raw_input("Please Enter A Value")
    x = int(x)
    x - 32
    x * 0.55

answer = F_C(x)
print x

出于某种原因,它只取数字并将其分成两半。如果有人可以帮助我,我将不胜感激。提前致谢

4

3 回答 3

2

您没有返回值。此外,您不会将所有计算值存储回变量中x

def F_C(x):
    x = raw_input("Please Enter A Value")
    x = int(x)
    x = x - 32
    x = x * 0.55
    return x

您可以将其简化为:

def F_C():
    x = raw_input("Please Enter A Value")
    return (int(x) - 32)*0.55
于 2013-06-09T21:09:05.200 回答
0

做这个:

def F_C():
    x = raw_input("Please Enter A Value")
    x = int(x)
    x = x - 32
    x = x * 0.55
    return x

因为你只是分配 x 重新分配 x

或这样做:

def F_C():
    x = raw_input("Please Enter A Value")
    x = int(x)
    x = (x - 32)*0.55
    return x

print F_C()

你不需要 x 因为 x 在函数中被检索,所以你不需要把它作为一个属性,你必须从函数中返回一些东西

你也可以使用inputintseadraw_input然后你不必将它转换为 int 因为raw_input返回一个字符串而input返回一个整数或浮点数

祝你好运!

于 2013-06-09T21:10:30.037 回答
0

你的公式不正确。无需输入您的功能。您确实需要返回最终值。

def F_C():
    '''Prompts user for Fahrenheit input, returns Celsius'''
    f = int(raw_input("Please enter a Fahrenheit value: "))
    return (f - 32) * 5./9

>>> print F_C()
Please enter a Fahrenheit value: -40
-40.0
于 2013-06-09T21:11:05.087 回答