さて、ここに少し背景情報があります:
私のカードゲームには 4 人のプレイヤーがいて、各プレイヤーは手札を持っています。pHands は 4 人の他のプレイヤーのハンドのリストです (pHands 内には他に 4 つのリストがあります)
リストは pHands (プレイヤーの手) では次のようになります: [ 'as', '2s', '4h', ............. , 'ad']
リスト内の各要素の最初の文字はカードであり、リスト内の各要素の 2 番目の文字はスイートです。
リストのすべての要素でスーツを取り出したいので、次の関数があります。
def slicing(player):
slicing_p1(player)
slicing_p2(player)
def slicing_p1(player):
pHandsSlice = pHands[player]
pHandsString = ", ".join(pHands[player])
x = len(pHands[player])
for i in range(x):
y = ''.join(pHandsSlice[i])
y = y.replace(y[1], "")
global myStrList
global myStr
myStrList = myStrList + y
myStr = myStr + y + ","
def slicing_p2(player):
x = len(myStr)
global myStr
global myStrList
myStr = myStr[:-1]
myStrList = list(myStrList)
次に、これらの関数を実行します。
slicing(0)
slicing(1) <------- this is where the error occurs.
エラー:
File "C:\Users\xxx\Downloads\UPDATE Assignment 2 (of 2)\GoFishPack\GoFishGameEngineSkeleton.py", line 63, in slicing
slicing_p1(player)
File "C:\Users\xxx\Downloads\UPDATE Assignment 2 (of 2)\GoFishPack\GoFishGameEngineSkeleton.py", line 75, in slicing_p1
myStrList = myStrList + y
TypeError: リスト ("str" ではない) のみをリストに連結できます
ここで何が起こっていますか?どうすれば修正できますか?