Python 使用列表检查列表中的随机位置

Python 使用列表检查列表中的随机位置,python,list,Python,List,我试图让计算机猜出这块板上的一个随机字符(它只是由一长串字符组成),然后检查这个随机字符是C、D、S还是B字符串 from random import randint Index=['A','B','C','D','E','F','G','H'] Row1=["Z","Z","Z","Z","Z","Z","Z","Z",] Row2=["Z","Z","Z","Z","Z","Z","Z","Z",] Row3=["Z","Z","Z","Z","Z","Z","Z","Z",] Row4=[

我试图让计算机猜出这块板上的一个随机字符(它只是由一长串字符组成),然后检查这个随机字符是C、D、S还是B字符串

from random import randint
Index=['A','B','C','D','E','F','G','H']
Row1=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row2=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row3=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row4=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row5=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row6=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row7=["Z","Z","Z","Z","Z","Z","Z","Z",]
Row8=["Z","Z","Z","Z","Z","Z","Z","Z",]
Board=[Row1,Row2,Row3,Row4,Row5,Row6,Row7,Row8]
RanRow=randint(1,8)
RanIndex=randint(0,7)
RanRow=RanRow-1
CompGuess=[RanRow,RanIndex]
if Board[CompGuess] ==("C") or Board[CompGuess] ==("D") or Board[CompGuess] ==("S") or Board[CompGuess] ==("B"):
#Do something
else:
#Do something
当我尝试检查存储在计算机随机选择的位置中的字符时:

    if Board[CompGuess] ==("C") or Board[CompGuess] ==("D") or Board[CompGuess] ==("S") or Board[CompGuess] ==("B"):
我得到一个错误:

TypeError: list indices must be integers, not list

我相信Python不喜欢将列表作为索引,但是我可能弄错了。

您正在将一个整数列表作为索引传递给您的董事会。在查找随机位置时,请尝试使用
Board[RanRow][RanIndex]

将整数列表作为索引传递到板。在查找随机位置时,请尝试使用
Board[RanRow][RanIndex]

Python不允许将列表作为列表索引器传递

Python不允许将列表作为列表索引器传递

使用优化的代码:

from random import randint

Index=['A','B','C','D','E','F','G','H']
Board=[["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",]]
RanRow=randint(0, 7)
RanIndex=randint(0, 7)
CompGuess = Board[RanRow][RanIndex]

if CompGuess in ["C" , "D", "S", "B"]:
#Do something
else:
#Do something

以您的优化代码为例:

from random import randint

Index=['A','B','C','D','E','F','G','H']
Board=[["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",],
["Z","Z","Z","Z","Z","Z","Z","Z",]]
RanRow=randint(0, 7)
RanIndex=randint(0, 7)
CompGuess = Board[RanRow][RanIndex]

if CompGuess in ["C" , "D", "S", "B"]:
#Do something
else:
#Do something

你不能将列表作为索引器传递给列表。你必须使用Board[RanRow][RanIndex]
Board[RanRow][RanIndex]==“C”
你不能将列表作为索引器传递给列表。你必须使用Board[RanRow][RanIndex]
Board[RanRow][RanIndex]==“C”
这是一条评论,不是答案。特别是因为这篇文章给出了更好的解释。这是一个评论,而不是一个答案。特别是因为这本书给出了更好的解释。