如何解决变量中的变量?

2024-06-16 12:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要能够定义变量,但是每个变量的定义中都有另一个变量

我是一个python初学者,几乎完成了一个家庭作业,我意识到我的代码不能正常工作是因为python实现的一个核心元素。 你不能调用彼此内部的两个变量。 这是必要的,因为我正在编写一个基于文本的冒险游戏,因此,对于程序的多个核心组件,我引用了变量中的其他变量,比如能够回到同一个房间,引用项目中的场景,以便在函数中使用它。我不能发布直接代码,因为这是家庭作业,老师会在网上搜索代码副本,但我已经编写了一些通用代码:

class obj():
   def __init__(self,name)
      self.name=name
dave=obj(maurice)
maurice=obj(dave)

Tags: 代码name文本self程序obj元素核心
1条回答
网友
1楼 · 发布于 2024-06-16 12:24:09

在Python代码中不能有循环引用。解释器一次执行一条指令,因此状态必须按特定顺序更新,Python不会为您做出这个决定。撇开这一点不谈,让一个对象在相关对象之前“获取”一个引用是没有问题的,因为您的游戏在更新之间不应该是可玩的

典型的游戏循环如下所示:

stop_processing_player_input()
update_state()
resume_processing_player_input()
class Person:
    def __init__(self, name):
        self.friends = {}
        self.name = name

    def become_friends(self, friend):
        self.friends.add(friend)
        friend.add(self)

resume_processing_input()
# player does things, dave and maurice
# are born and instantly become friends

stop_processing_player_input()

# begin state update
dave = Person(name='Dave')
maurice = Person(name='Maurice')

dave.become_friends(maurice)
# dave.friends.add(maurice)
# maurice.friends.add(dave)
# end state update

resume_processing_player_input()

相关问题 更多 >