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)