是这样的,我刚学 python3,在写一个 21 点小游戏,其中涉及到了发牌这个流程,于是我把所有牌都放进了 list
里,然后写一个函数用于发牌。函数的流程是首先随机从 list 里选中一张牌,然后把这个被选中的牌从 list 内del
掉,然后把选中的牌 return
出去,在外面放进玩家的牌组里。
下面是我的代码。系统会报错说 index
是 out of range 的,没想明白为啥。我感觉我写的 randint
没有超出范围呀。
求大大解答,谢谢!
#牌组
cards = [1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13]
#发牌
def randcard():
index = random.randint(0, len(cards))
del cards[index]
if len(cards) == 0:
print('Game over! No more cards now!')
return game()
else:
return cards[index]
详细解释请看注解。