我正在为我的第二个作业编写一些代码,即 Python 中的 Go Fish 游戏。对于我的一个函数定义,我需要从 target_player 卡片列表中取出 target_rank,并将其附加到当前玩家卡片列表中。我尝试使用 for 循环,但收到更改列表长度的错误。到目前为止,我拥有的代码是
def Hit(player_number, target_player, target_rank, pHands):
while str(target_rank) in pHands[target_player]:
pHands[player_number].append(pHands[target_player].pop(target_rank))
print pHands[player_number]
print pHands[target_player]
pHands = [['a', '2', '3', '4', '4', '5', '6', '7', '7', 't'], ['2', 'q', '6', '9', '5', 'k', 'k', 'a', '3', '8'], ['j', '9', 't', 't', '2', 't', '7', 'j', '5', '9'], ['8', '8', 'a', 'q', 'k', '4', '6', '9', 'q', '2']]
Hit (0,1,'a',pHands)
其中 pHands 是玩家卡列表的列表。我知道我不能使用 pop 因为目标排名是一个字符串而不是位置值,但任何帮助将不胜感激。感谢大家!