小程序在python3中转换温度

时间:2019-07-11 01:59:47

标签: python-3.x

我正在尝试创建一个程序,在该程序中用户输入可以根据用户转换为华氏温度或摄氏温度的温度,从摄氏温度转换为华氏温度的方法可以正常工作。但是,从华氏温度到摄氏温度,它会给出十六进制答案

我试图移动括号和公式,但是似乎没有任何结果可以得到预期的结果。

#!/usr/bin/python3

def fahrenheit(c):
 fahrenheit=c *9/5+32
 print (fahrenheit)

def celsius(f):
 celcius=5/9*(f-32)
 print (celsius)

#f= int (input("Please enter the temperature in fahrenheit"))
#c= int (input("Please enter the temperature in celcius"))
conversion= (input("Please enter which measurement to convert to fahrenheit or celsius"))

if conversion == "fahrenheit":
  c= int (input("Please enter the temperature in celcius"))
  fahrenheit (c)

elif conversion == "celsius":
  f= int (input("Please enter the temperature in fahrenheit"))
  celsius (f)
else:
  print ("Please enter the appropriate operator ")

华氏温度到摄氏温度的输出:

<function celsius at 0x7f539a933840>

2 个答案:

答案 0 :(得分:1)

您需要提供不与函数名称冲突的其他变量名称。 return返回值而不是将其留给解释器也是很好的选择。

答案 1 :(得分:0)

@absolutelydevastated在链接的答案中所述,您的变量名不应与函数名冲突。并且,如答案中所建议的那样,return而不是将其打印在函数本身中。

我想补充一点。

  • 给出有意义的名称。例如,在将温度转换为华氏度时,不用命名函数fahrenheit,而是将其命名为to_fahrenheit
  • 询问用户要转换的内容时,不要期望他们写完整的单词(华氏温度或摄氏温度),而是给他们提供简单的选项,例如 f或c