-1

我想制作自己的 python 程序来将华氏度或摄氏度转换为另一个单位。我是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 文件的末尾,有一个错误。它涉及第二个问题(华氏度或摄氏度)。它只是打破。有没有办法解决它?

提前致谢。

4

2 回答 2

2

您的代码很好,您对execute(). 添加一个调用,print()以便您可以查看转换结果,并可能等待按键:

print(execute())
input('Press any key')

通过input()调用,Windows 控制台将保持打开状态,直到您阅读完程序必须打印的内容。在 IDLE 中运行时不需要它。

于 2013-06-04T20:50:07.130 回答
1

你最后错过了这一行:

result = execute()
print(result)

您必须在您的情况下调用您的main函数execute()。现在您可以直接在execute()中打印结果,也可以返回结果(您正在这样做)并将返回的值存储到 var 中并打印。;)

于 2013-06-04T20:53:12.883 回答