✧ Тернарный оператор в Python ✧

🔄 Теория: Тернарный оператор

Тернарный оператор - как быстрый выбор артефакта: одной строчкой решаем, что использовать!

Синтаксис тернарного оператора:

# Общий вид:
# результат = значение1 if условие else значение2

# Проверка редкости артефакта
rarity = 5
color = "золотой" if rarity == 5 else "фиолетовый"

# Проверка возможности возвышения
message = "Готов к возвышению" if level >= 20 else "Нужно больше опыта"

Сравнение с обычным if-else:

# Обычная запись if-else
if character_hp > 0:
    status = "жив"
else:
    status = "погиб"

# Та же логика с тернарным оператором
status = "жив" if character_hp > 0 else "погиб"

Практические примеры:

# Формирование строки статуса
def get_talent_status(level):
    return f"Уровень {level}" if level < 10 else "Максимальный уровень"

# Проверка наличия баффа
has_buff = True
atk_modifier = 1.25 if has_buff else 1.0

# Определение иконки элемента
element = "Пиро"
icon = "🔥" if element == "Пиро" else "💧" if element == "Гидро" else "⚡"

# Подсчёт бонуса комплекта
artifact_count = 3
set_bonus = "полный" if artifact_count >= 4 else "частичный" if artifact_count >= 2 else "нет"

🎮 Задача: Система оценки артефактов

Создайте систему быстрой оценки артефактов, используя тернарные операторы.

Критерии оценки:

  • 5★ и правильный мейн стат = "отличный"
  • 5★ или 3+ нужных сабстата = "хороший"
  • 4★ с нужными статами = "неплохой"
  • Всё остальное = "кормовой"

Реализуйте:

💡 Подсказка:

# Оценка крит статов
def rate_crit_value(value, is_rate=True):
    threshold = 3.5 if is_rate else 7.0
    return "высокий" if value >= threshold else "низкий"

# Общая оценка одной строкой
rating = "отличный" if (rarity == 5 and has_good_main) else \
         "хороший" if (rarity == 5 or good_substats >= 3) else \
         "неплохой" if (rarity == 4 and good_substats >= 2) else \
         "кормовой"
⟵ Условные операторы Оператор match-case ⟶