2016-01-21 114 views
-2

我想找到解决这个问题已经2个小时了,我不知道该怎么输入这样的功能?温度转换蟒蛇功能

num = input ('Which Degree Temperature would you like to convert? ') 
corf = raw_input ('Is the temperature Fahrenheit Degree or is it Celsius?(Type "f" for Fahrenheit or "c" for Celsius)') 
def max(num,corf): 
    if corf == 1 : 
     return num 
     Celsius = (num - 32) * 5.0/9.0 
     print str(num) + " Fahrenheit is equal to " + str(Celsius)+ " Celsius or " + ('%0.1f degrees Celsius ' %(Celsius)) + 'to one decimal place ' 
    elif corf == 2 : 
     return num 
     Fahrenheit = (num * 9.0/5.0) + 32 
     print str(num) + " Celsius is equal to " + str(Fahrenheit)+ " Fahrenheit or " + ('%0.1f degrees Celsius ' %(Celsius)) + 'to one decimal place ' 
    else: 
     return 'Error' 
+1

什么不起作用? – Andrey

回答

1

在每个ifelif语句,改变一个数字正确的字符串:

if corf == "f":   
    return num 
    Celsius = (num - 32) * 5.0/9.0 
    print str(num) + " Fahrenheit is equal to " + str(Celsius)+ " Celsius or " + ('%0.1f degrees Celsius ' %(Celsius)) + 'to one decimal place ' 
elif corf == "c": 
    return num 
    Fahrenheit = (num * 9.0/5.0) + 32 
    print str(num) + " Celsius is equal to " + str(Fahrenheit)+ " Fahrenheit or " + ('%0.1f degrees Celsius ' %(Celsius)) + 'to one decimal place ' 

为什么?因为corf的唯一输入只应该是“f”或“c”。现在每个条目都应该与正确的代码相匹配,如上所示。

+0

嗯......这是一个问题,另一个大问题是他在数学之前返回数字。 (还有一个问题,他复制和粘贴不好,影响内置(最大),并没有显示调用它经常被人忘记做) – Foon