【发布时间】:2018-03-04 08:07:17
【问题描述】:
我编写了一个非常简单的临时脚本,它会提示用户输入并给出答案。如下所示,我提示用户输入 1,2 或 3。1 是 fah 到 cel,2 是 cel 到 feh,3 是退出程序。如果用户输入 1 或 2,另一个提示将要求他们输入他们想要转换的度数。此条目保存在变量中:
scale
我编写的函数应该将浮点数计算为正确的转换,并在打印正确的温度后循环回到主菜单。 try/except 语句中有一些逻辑会尝试将此输入转换为浮点数,如果不能,它将打印一个讨厌的 gram。当我运行这段代码时,一切似乎都运行良好,直到调用 fahtoCel 函数:
fc = fahtoCel(scale)
我很确定我的所有缩进都是正确的,并且研究了声明函数并在脚本中调用它们。我唯一的怀疑是我的函数调用在我的 try/except 语句中,也许范围不正确?我的代码:
def fahtoCel(number):
return(number - 32.0) * (5.0/9.0)
while True:
x = raw_input("""Please enter 1,2 or 3: """)
if x == "3":
exit(0)
if x == "1":
scale = raw_input("""Enter degrees in Fah: """)
try:
scale = float(scale)
fc = fahtoCel(scale)
except:
print("Invalid Entry")
continue
print("%.2f degrees fah equals %.2f degrees Cel" % (scale, fc))
if x == "2":
#Do the same for cel to fah#
【问题讨论】:
-
那么,您实际得到的错误是什么?您应该发布回溯。
-
代码按预期工作。您没有得到任何输出,但是您不会尝试打印
fc的值,因为您调用continue会导致您的print调用被跳过。
标签: python function scope temp