为什么python说没有定义“f”或“q”?

时间:2014-09-15 20:09:00

标签: python-3.x

我是python的新程序员,正在编写一个简单的程序来计算区域但是什么时候 我尝试使用True,else,elif和if statments添加菜单。

#Area.py#
print("The area and volume progam \n")
print("What do you want to do\n")
print("Find the area \n")
print("Find the volume \n")
print("Quit")
#valid_response= "True" 
while True:
        answer=(input("Press A, V, or Q : "))
        if answer in("A" ,"a"):
            find_area()
        elif answer in("V" ,"v"):
            find_volume()
        elif answer in("Q" ,"q"):
            break

        else:
            print("Invalid response")

#Area#
def find_area():
    length=input("What is the length?")
    width= input ("What is the width?")
    Area = int (length)* int(width)
    print ("The area is " + str (Area))

    f.close()
#Volume#
def find_volume():
    length= input ("What is the length?")
    width= input ("What is the width?")
    height= input("What is the height?")
    Volume= int (length) * int (width) * int (height)
    print ("The volume is " + str (Volume))

    f.close()

我可能错过了一些非常简单的事情;但是,我一直无法找到答案。

2 个答案:

答案 0 :(得分:2)

您正在find_volume()find_area()中调用f.close()。

您正在使用的教程/文档可能会将{f}作为写入文件的context manager的一部分,但您未尝试使用文件。

答案 1 :(得分:0)

在不初始化f。

的情况下调用f.close()