Помогите с ошибкой в списке python
Недавно начал писать код, но выходит ошибка. Изучаю python не долго, поэтому возможно я глупый
Import random
class Enemy:
def enemy_skills(self, name, health, level, weapon, armor):
self.name = enemy_name
self.health = enemy_hp
self.level = enemy_lvl
def weapon(self, health, damage):
self.health = enemy_weapon_hp
self.damage = enemy_weapon_dm
def armor(self, health, plus_health):
self.health = enemy_armor_hp
self.plus_health = enemy_armor_pl_hp
enemy_name_list = ["1", "2", "3", "4", "5", "6"]
Enemy() = random.choice(enemy_name_list)
If Enemy() = '1':
И так далее
SyntaxError: can't assign to functional call
Ответы (2 шт):
Автор решения: NEWME0
→ Ссылка
Ошибка в этой строчке кода
Enemy() = random.choice(enemy_name_list)
Поправь
Enemy(random.choice(enemy_name_list))
Автор решения: NEWME0
→ Ссылка
# Первым делом нужно поправить импорт
import random
class Enemy:
# Для инициализации обьекта есть специальный метод __init__
def __init__(self, name, health, level, weapon, armor):
self.name = name
self.health = health
self.level = level
self.weapon = weapon
self.armor = armor
# Дополнительные методы не следует определять внутри других функций
# Так как после завершения функции они просто изчезнут
# Следует определять в теле класса
def weapon(self, health, damage):
self.health = health
self.damage = damage
def armor(self, health, plus_health):
self.health = health
self.plus_health = plus_health
enemy_name_list = ["Jon", "Neo", "Franklin", "Adolf", "Stif", "Python"]
# Для инициализации обьекта параметры нужно передавать в функцию инициализации
# Количество параметрод должно совпадать с количеством аргументов в определении функции
enemy_name = random.choice(enemy_name_list)
enemy_health = 100
enemy_level = 8
enemy_weapon = 'SPAS'
enemy_armor = 200
# Функция инициализации возвращает обьект
# Чтобы его использовать следует его сохранить в переменую
my_enemy = Enemy(enemy_name, enemy_health, enemy_level, enemy_weapon, enemy_armor)
if my_enemy.name == "Neo":
my_enemy.weapon = "Uzi"