Python:如何从文件模块的函数中追加一个列表(包含在Main()程序中)?

时间:2012-11-19 20:27:10

标签: python

我开始编写一个基于文本的游戏 在文件模块中调用函数的主程序。

有一种特殊情况,即调用文件模块和函数,函数(在模块中)应在Main()程序中附加一个列表(全局变量)。

问题是它无法追加它。

因此,更具体地说,在游戏中,玩家进入一个房间(RoomA2)并且有一个物体(剑)。 玩家可以拿起它(我希望该功能将其从名为object_room_a2的列表中删除)并将剑放入他的包里。 因此,bag是Main()程序中的全局列表(称为object_list)。

请下面的代码,感谢您的帮助!

object_list = []

def main():
    print('stuff.. What do you want to do? (1) do this; (2) do that')
    choice = int(input('Choice --> '))

    if choice == 1 :
        RoomA2.room_a2()
    elif choice == 2 :
        RoomB1.room_b1()

def room_a2():
    object_room_a2 = ['sword']
    print('stuff.. What do you want to do? (1) do this; (2) do that')
    choix = int(input('choix --> '))

    if choix == 1:
        object_room_a2.remove('sword')
        object_list.append('sword')

    if choix == 2:
        RoomA1.room_a1()

1 个答案:

答案 0 :(得分:1)

问题在于,每次调用room_a2时,object_room_a2都会重新初始化,因此剑会不断重现。

一般来说,这是一种非常复杂的方式来做你想做的事情。一个玩家对象和一组房间对象可以减少代码,但我认为你是一个初学者,并且可能希望首先以这种方式工作。