Python 清单问题;类型错误:';int';对象不可下标

Python 清单问题;类型错误:';int';对象不可下标,python,list,Python,List,使用此代码,我可以获得以下输出: import random stats=[] attributes=5 print("Stats:", end=" ") for i in range(attributes): r=random.randint(40,70) stats.append(r) print(stats[i], end=" ") print(''' \t[1]- Strength \t[2]- Dexterity

使用此代码,我可以获得以下输出:

import random
stats=[]
attributes=5
print("Stats:", end=" ")
for i in range(attributes):
  r=random.randint(40,70)
  stats.append(r)
  print(stats[i], end=" ")
print('''
\t[1]- Strength
\t[2]- Dexterity
\t[3]- Intelligence
\t[4]- Wisdom
\t[5]- Charisma
''')
select = int(input("Select: "))
select -= 1
stats[select] += random.randint(10,15)
for i in range(len(stats)):
  if i==select:
    continue
  stats[i] -= random.randint(10,15)
print(f'''New Stats is: {stats}''', end= " ")

#Fireball
fireball=[12, 15, 28, 10, 5]
skill=input("\nChoose One Of Four Skills: ")
if skill=="F" or "f":
  stats[i] -= fireball[i]
  if stats[i]>0:
    print(stats)
#After this there should be 3 more similar ones (Like same but for lightning).

#Lightning

#Silence

#Fire Ward
然而,我希望在最后几行看到的是:

Stats: 65 48 48 42 41 
    [1]- Strength
    [2]- Dexterity
    [3]- Intelligence
    [4]- Wisdom
    [5]- Charisma

Select: 3
New Stats is: [54, 36, 59, 29, 26] 
Choose One Of Four Skills: f
[54, 36, 59, 29, 21]
因为我已经明确指出,列表应该减少以下行中列表fireball中的值:

Choose One Of Four Skills: f
[42, 21, 28, 19, 16]

有人能解释一下为什么给我同样的清单吗?我尝试在最后一行添加
[I]
(即:
print(stats)
),但在这种情况下,它只显示一个值。

您使用的是上一个循环中的
I
。创建一个新循环以调整统计信息

if skill=="F" or "f":
      stats[i] -= fireball[i]
输出

#Fireball
fireball=[12, 15, 28, 10, 5]
skill=input("\nChoose One Of Four Skills: ")
if skill=="F" or "f":
  for i in range(len(stats)):
    stats[i] -= fireball[i]
  print(stats)

我想你错过了一个循环

Stats: 51 57 54 61 65
        [1]- Strength
        [2]- Dexterity
        [3]- Intelligence
        [4]- Wisdom
        [5]- Charisma

Select: 3
New Stats is: [38, 44, 68, 46, 50]
Choose One Of Four Skills: f
[26, 29, 40, 36, 45]

我想你是想说
if skill.lower()==“f”
,否则你是在评估
if(skill==“f”)或bool(“f”)的等价物,请提供完整的错误输出。
  for i in range(len(stats)):
    stats[i] -= fireball[i]
  if stats[i]>0:
    print(stats)