[英]How to use pop on 2d arrays?
我正在嘗試制作一張30張牌的牌組,一次取出一張牌,然后用兩個牌子將它們分開,但我不知道為什么pop不能正常工作,為什么不是我的流行音樂
我曾嘗試使用.remove
但我的老師說pop必須使用,我不知道為什么pop不工作
card_deck = [["yellow",1],["yellow",2],["yellow",3],["yellow",4], ["yellow",5],["yellow",6],["yellow",7],["yellow",8],["yellow",9], ["yellow",10],
["red",1],["red",2],["red",3],["red",4],["red",5],["red",6],["red",7], ["red",8],["red",9],["red",10],
["black",1],["black",2],["black",3],["black",4],["black",5],["black",6], ["black",7],["black",8],["black",9],["black",10]]
cardies = 30
while True:
if cardies > 0:
u1_card = random.choice(card_deck)
u2_card = random.choice(card_deck)
print ("player 1's card is", u1_card)
print("player 2's card is", u2_card)
card_deck.pop(u1_card)
card_deck.pop(u2_card)
len(card_deck) - 1
if u1_card == u2_card:
card_deck.pop
我希望卡片組( card_deck
)隨機洗牌,然后一次一張卡片分配給每個玩家( u1_card
, u2_card
),直到沒有卡片為止。
您想調用該函數,因此必須使用括號。 它應該是:
card = card_deck.pop() # for your last line of code
此外, pop()
需要一個索引參數,因此card_deck.pop(u1_card)
將不起作用。 您可以使用.index()
來獲取索引
card_deck.pop(card_deck.index(u1_card))
另外我認為你的意思是用這一行更新cardies
: len(card_deck) - 1
cardies -= 1 # you might have to change this to 2, to get the desired result because you are popping 2 cards per loop iteration
您還應該有一個條件來結束while循環,否則當列表為空時您將遇到錯誤,例如:
while len(card_deck) != 0:
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.