Python int对象在循环中不可下标
我在做一个简单的循环,检查int字符串的长度,然后设置2个条件,但出现以下错误: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
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,否。然后我该怎么办?