【发布时间】:2018-04-11 14:35:25
【问题描述】:
我正在编写一个代码,允许用户在计算机上玩 Pontoon (21)。
作为其中的一部分,我使用了一个函数,该函数从名为deck 的列表中为计算机选择一张随机卡片(每三轮随机“洗牌”一次,因此卡片取自索引 0并将其删除)并将其添加到名为 comp_cards 的列表中,该列表充当计算机的“手”。
目前,我正在使用一个名为 card 的全局变量来存储函数选择的卡片。但是,我听说一般情况下最好不要使用全局变量,所以我想知道是否有任何 simple 替代方法。
这是定义函数的代码:
def comp_random_card():
global card
card = deck[0]
deck.pop(0)
comp_cards.append(card)
这是使用它的代码:
input("Computer twisted and was dealt "+card)
input("Computer: "+" ".join(comp_cards))
编辑:当我选择随机卡片时,我需要多次参考它。还有,不知道是什么 类是(我对 Python 有点陌生)。
【问题讨论】:
-
总有一个替代方案,但你还没有真正展示足够的代码。为什么不能从函数中退卡?
-
创建一个类并将状态存储在属性中,并使该函数成为该类的方法。
-
一旦你的游戏运行起来,考虑发布到 [CodeReivew.SE] 以获得更彻底的建设性批评。 (请务必阅读并遵守他们的社区准则。)
-
感谢 cmets,我编辑了我的问题以回复他们。
标签: python python-3.x function global