我想制作我自己的python程序,用于将华氏度或摄氏度转换为另一个单位。我是一个蟒蛇新手。这是我的代码
def f_to_c(temp):
return (temp - 32) * 5 / 9
def c_to_f(temp):
return temp * 9 / 5 + 32
def execute():
what = input("Unit you want to convert? (f/c) ")
while (what == "c" or what == "C" or what == "f" or what == "F"):
if what == "c" or what == "C":
temp = float(input("Enter degrees Celsius: "))
return c_to_f(temp)
else:
temp = float(input("Enter degrees Fahrenheit: "))
return f_to_c(temp)
else:
return execute()
这部分代码在IDLE执行并运行execute()方法后工作。但是如果我补充一下:
execute()
到我的.py文件的末尾,有一个错误。它得到了第二个问题(华氏度或摄氏度)。它只是打破了。有办法解决吗?
提前致谢。
答案 0 :(得分:2)
您的代码没问题,您对execute()
的返回值一无所知。添加对print()
的通话,以便您可以看到转化结果,也许还要等待按键:
print(execute())
input('Press any key')
通过input()
调用,Windows控制台将保持打开状态,直到您完成阅读程序必须打印的内容为止。在IDLE中运行时不需要它。
答案 1 :(得分:1)
你最后错过了这一行:
result = execute()
print(result)
您必须在案例 execute()中调用 main 函数。 现在,您可以直接在 execute()中打印结果,或者返回结果(您正在执行此操作)并将返回的值存储到var中并打印出来。 ;)