我知道函数对于将被多次使用的代码很有用,因此我尝试创建一个函数以节省时间并使代码看起来更整洁。我的功能如下所示:
def drawCard():
drawnCard = random.choice(cardDeck)
adPos = cardDeck.index(drawnCard)
drawnCardValue = cardValues[adPos]
但是,我不确定如何返回这些变量,因为它们是local(?)。因此,我不能在函数外部使用这些变量。我只是想知道是否有人可以以一种可以在函数外使用drawCard和DrawnCardValue变量的方式来帮助编辑此函数?
def drawCard():
drawnCard = random.choice(cardDeck)
adPos = cardDeck.index(drawnCard)
drawnCardValue = cardValues[adPos]
return drawnCard, drawnCardValue
drawnCard, drawnCardValue = drawnCard()
注意,您也可以这样写drawCard
:
def drawCard():
adPos = random.randrange(len(cardDeck))
drawnCard = cardDeck[adPos]
drawnCardValue = cardValues[adPos]
return drawnCard, drawnCardValue
cardDeck
但是,如果包含重复项,则这两个函数的行为会有所不同。cardDeck.index
将始终返回第一个索引,因此drawnCardValue
将始终对应于重复的第一项。它永远不会返回第二个值(理论上可能是不同的)。
如果您使用,adPos = random.randrange(len(cardDeck))
则其中的每个项目cardValue
都有相等的机会被选中-假设len(cardValue) == len(cardDeck)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句