我正在创建一个简单的循环,我检查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
P.S。:全局变量是列表
答案 0 :(得分:1)
您首先使用键eachCard.split()[count]
从字典中提取值:
valueOfCardPlayer = values[eachCard.split()[count]]
然后尝试索引生成的整数:
valueOfCardPlayer[count]
您无法索引整数,因此需要输入错误。当你说所有全局变量都是字符串列表时,你就错了。事实并非如此:valueOfCardPlayer
被赋予一个整数值。