因此,我正在尝试编写一款优秀的战争游戏,当我尝试将对象(一张卡片)从一个列表(手)移动到另一个列表时,我收到错误。

import random
cardvalues = {"ace" : 13 , "2" : 2 , "3" : 3 , "4" : 4 , "5" : 5 , "6" : 6, "7" : 7 , "8" : 8 , "9" : 9, "10" : 10 , "jack" : 11 , "queen" : 12 , "king" : 13}
suits = {"clubs" : 1, "diamonds" : 2 , "spades" : 3 , "hearts" : 4}
deck = []
currentDeck = []

class card:
    def __init__ (self, value, suit):
        if value not in cardvalues:
            raise RuntimeError("must input valid card value")...

[code here was erased because it’s not causing the problem]

def battle():            
    if hand1[0] >= hand2[0]:
        hand1.append[hand2.pop(0)] #The error happens in this function in the .append
        print("player 1 won the battle")
    elif hand1[0] < hand2[0]:
        hand2.append[hand1.pop(0)]
        print("player 2 won the battle")
    else:
        raise RuntimeError("something wrong")


while len(hand1) > 0:
    while len(hand2) > 0:
        battle()
if len(hand1) == 0:
    print("PLAYER 2 WON THE WAR")
elif len(hand2) == 0:
    print("PLAYER 1 WON THE WAR")
else:
    print("no one won?")

谢谢!

我不仅需要帮助找到我的错误,而且它意味着什么?

答案

你用过[]代替()当试图打电话时append

来自: stackoverflow.com