✧ Условные операторы if-elif-else ✧

🔀 Теория: Условные операторы

Условные операторы - как выбор способности у персонажа. В зависимости от ситуации, мы принимаем разные решения!

Базовый синтаксис:

# Проверка уровня персонажа
char_level = 85

if char_level >= 90:
    print("Максимальный уровень!")
else:
    print(f"До максимума осталось {90 - char_level} уровней")

# Проверка с несколькими условиями
artifact_level = 20
artifact_rarity = 5

if artifact_level == 20 and artifact_rarity == 5:
    print("Артефакт полностью прокачан!")
elif artifact_level < 20:
    print("Можно улучшить уровень")
else:
    print("Артефакт максимального уровня")

Операторы сравнения:

# == (равно)
has_talent = character_level == 90  # False

# != (не равно)
needs_exp = character_level != 90   # True

# < (меньше), > (больше)
can_ascend = character_level > 80   # True

# <= (меньше или равно), >= (больше или равно)
ready_for_boss = character_level >= 70  # True

# in (проверка вхождения)
element = "Пиро"
vape_ready = element in ["Пиро", "Гидро"]  # True

Вложенные условия:

# Проверка возможности возвышения персонажа
def can_ascend_character(level, mora, books, boss_mats):
    if level < 20:
        return "Нужен 20 уровень для первого возвышения"
    
    if mora < 100000:
        return "Недостаточно моры"
    else:
        if boss_mats < 2:
            return "Нужны материалы босса"
        elif books < 8:
            return "Недостаточно книг опыта"
        else:
            return "Можно выполнить возвышение!"

⚔️ Задача: Система боевых реакций

Создайте систему, определяющую результат взаимодействия элементов:

Таблица основных реакций:

  • Пиро + Гидро = Пар (×1.5 или ×2 урона)
  • Пиро + Крио = Таяние (×1.5 или ×2 урона)
  • Гидро + Крио = Заморозка
  • Электро + Гидро = Электрозаряд

Реализуйте функцию, которая:

💡 Подсказка:

def check_reaction(element1, element2):
    if element1 == "Пиро":
        if element2 == "Гидро":
            return "Пар", 1.5
        elif element2 == "Крио":
            return "Таяние", 2.0
        
    # Для триггера второго элемента множители могут быть другими
    if element1 == "Гидро" and element2 == "Пиро":
        return "Пар", 2.0
⟵ Исключения Тернарный оператор ⟶