我刚开始学习OOP并且正在努力学习它。这个问题可能正好盯着我。
def Travel():
choice = str()
choice = input("Where will you search?\nChoose F for Front or T for Trunk\n")
if choice == "F":
LocF()
elif choice == "T":
LocT(i)
def LocF():
print("Looking through the front of the car, you find a screwdriver.\nYou figure that might help a bit.")
inv = ("screwdriver")
return i
def LocT(i):
if i[0] == "screwdriver":
print("You use your screwdriver to pop the inside of the trunk door lock off.")
time.sleep(0.5)
print("You make it to class with seconds to spare.")
else:
print("You can't get to the trunk yet.")
Travel()
答案 0 :(得分:0)
我假设您先调用Travel()
函数。
如果调用了Travel()
,您现在将输入一个值为'F'或'T'的字符串。
如果输入为“F”,则LocF()
会在LocF()
中调用i
,但您没有定义它。
如果输入为“T”,则会调用LocT()
,并且由于i
范围内没有Travel()
,解释程序将在外部查找i
。而且外面也没有i
,所以错误是可以理解的。
有几种方法可以修复您的代码,但由于我不知道您尝试做什么,所以我无法继续帮助。
你的问题是静态和动态范围,而不是OOP。