Python int对象在循环中不可下标

Python int对象在循环中不可下标,python,Python,我在做一个简单的循环,检查int字符串的长度,然后设置2个条件,但出现以下错误: if len(str(valueOfCardPlayer[count])) == 1: TypeError: 'int' object is not subscriptable 这是我的密码: global valueOfCardPlayer global suitOfCardPlayer if not showAllCards: count = 0 for eachCard in playerC

我在做一个简单的循环,检查int字符串的长度,然后设置2个条件,但出现以下错误:

if len(str(valueOfCardPlayer[count])) == 1:
TypeError: 'int' object is not subscriptable
这是我的密码:

global valueOfCardPlayer
global suitOfCardPlayer
if not showAllCards:
    count = 0
    for eachCard in playerCards:
        valueOfCardPlayer = values[eachCard.split()[count]]
        suitOfCardPlayer = suitsSymbol[eachCard.split()[count + 2]]
        print(valueOfCardPlayer)


        if len(str(valueOfCardPlayer[count])) == 1:
            print(f"Player:\n\n"
                  f"------------\n"
                  f"| {valueOfCardPlayer[count]} {suitOfCardPlayer[count]}      |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|      {valueOfCardPlayer[count]} {suitOfCardPlayer[count]} |\n"
                  f"----------\n")
        else:
            print(f"Player:\n\n"
                  f"------------\n"
                  f"| {valueOfCardPlayer[count]} {suitOfCardPlayer[count]}     |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|          |\n"
                  f"|     {valueOfCardPlayer[count]} {suitOfCardPlayer[count]} |\n"
                  f"----------\n")
        count += 1

注意:全局变量是列表

您首先使用键
eachCard.split()[count]
从字典中提取一个值:

valueOfCardPlayer = values[eachCard.split()[count]]
然后尝试为结果整数编制索引:

valueOfCardPlayer[count]

无法为整数编制索引,因此可能会出现错误。如果说所有全局变量都是字符串列表,那就错了。这不是真的:
valueOfCardPlayer
被分配了一个整数值。

列表的数据类型是什么?我假设
valueOfCardPlayer
是一个整数列表,
suiteofcardplayer
是一个字符串列表,
playerCards
是一个字符串列表。但您能确认一下吗?问题是您的全局列表不会保留在
for
语句后面的两行之后,除非
值[eachCard.split()[count]]
是一个列表。从错误消息中可以看出它是int。@aafewfwefe值可能是。不过,您正在将CardPlayer的
值指定给该字典中的值。欢迎使用堆栈溢出!请不要破坏你的帖子。如果您认为您的问题没有用处或不再有用,则应将其删除,而不是编辑掉所有使其成为问题的数据。通过在Stack Exchange网络上发布,您已授予SE分发该内容的不可撤销权利(根据CC By-SA 3.0许可证)。根据SE策略,任何破坏行为都将被恢复。但我首先将int转换为len中的str(str(valueOfCardPlayer[count])==1这没关系,在
valueOfCardPlayer=values[eachCard.split()[count]]
之后,变量
valueOfCardPlayer
是一个
int
。不能为整数编制索引
str
转换在使用
[count]
编制索引后发生。我是否可以将append改为=?@aafewfwefe,否。然后我该怎么办?