我正在制作一个代码,允许用户在计算机上玩Pontoon(21)。
作为其中的一部分,我正在使用一个函数,从名为deck
的列表中为计算机选择随机卡(每三轮随机“洗牌”,因此该卡从索引中取出{ {1}}并将其删除)并将其添加到名为0
的列表中,该列表充当计算机的“手”。
目前,我正在使用一个名为comp_cards
的全局来存储该功能选择的卡片。但是,我听说一般不使用全局变量,所以我想知道是否有任何简单的替代方案。
这是定义函数的代码:
card
这是使用它的代码:
def comp_random_card():
global card
card = deck[0]
deck.pop(0)
comp_cards.append(card)
编辑:当我选择随机卡时,我需要不止一次地参考它。另外,我不知道是什么 class是(我对Python有点新鲜感。)
答案 0 :(得分:0)
如何直接归还:
def comp_random_card():
return deck.pop(0)
上述函数使用pop
除了删除项目之外还返回项目的事实。
您的变量现在很好地受到函数范围的限制!
在您的代码中,您不会显示deck
的分数,但也应以某种方式处理。你可以做类似的事情:
class Game(object):
def __init__(self):
self.deck = code_that_creates_deck()
def round(self):
computed_hand = comp_random_card()
play_round()
def comp_random_card(self):
return self.deck.pop(0)