Python 2.7 如何修复此错误?只能将列表(而不是“浮点”)连接到列表

Python 2.7 如何修复此错误?只能将列表(而不是“浮点”)连接到列表,python-2.7,Python 2.7,我正在做一个小游戏,但我一直犯这个错误 玩家伤害=玩家攻击掷骰+玩家攻击加成-敌人防御加成-10 TypeError:只能将list not float连接到list 有人能帮我解决这个问题吗。PlayerAttackRoll是一个列表,所以当你这样做的时候 def Combat(player,Enemy): userInput = input("How would you like to attack the enemy (P)ower attack, (Q)uick Attack,(C)ou

我正在做一个小游戏,但我一直犯这个错误 玩家伤害=玩家攻击掷骰+玩家攻击加成-敌人防御加成-10 TypeError:只能将list not float连接到list
有人能帮我解决这个问题吗。

PlayerAttackRoll是一个列表,所以当你这样做的时候

def Combat(player,Enemy):
userInput = input("How would you like to attack the enemy (P)ower attack, (Q)uick Attack,(C)ounter attack, or (N)ormal attack?").upper()
PlayerAttackRoll = [random.randint(1,20)-1]
EnemyAttackRoll = [random.randint(1,20)-1]
PlayerAttackBonus = player['Attack'] / 5
EnemyAttackBonus = Enemy['Attack'] / 5
PlayerDefenseBonus = player['Defense'] /5
EnemyDefenseBonus = Enemy['Defense'] / 5
if userInput == "P":
    PlayerAttackBonus *= 2
    EnemyAttackBonus *= 1.5
elif userInput =="Q":
    PlayerAttackBonus *= 2
    EnemyDefenseBonus *= 1.5
elif userInput =="C":
    PlayerAttackBonus *= 2.5
    PlayerAttackBonus *= 0
elif userInput =="N":
    player['Attack']
while True:# This is where i keep getting the error at
    PlayerDamage = PlayerAttackRoll + PlayerAttackBonus - EnemyDefenseBonus -10
    EnemyDamage = EnemyAttackRoll + EnemyAttackBonus - PlayerDefenseBonus - 10
    if PlayerDamage == "<=0":
           print("You have missed Enemy took no damage.")
    elif EnemyDamage == "<=0":
        print("Enemy has missed you take no damage.")
return player,Enemy
它正在尝试执行列表连接

或者

PlayerAttackRoll + PlayerAttackBonus

应该有用

尽管如此,您确实不需要将其初始化为列表,因为它是单个值。EnemyAttackRoll也是一样

PlayerAttackRoll = random.randint(1,20)-1
PlayerAttackRoll = [random.randint(1,20)-1][0]