Цикл for как прокачка полного сета артефактов - переходя от предмета к предмету выполняем с ними одни и те же действия (повышаем уровень), пока не соберем идеальный сет!.
# Набор артефактов для прокачки
artifacts = ["Цветок", "Перо", "Часы", "Кубок", "Корона"]
# Прокачиваем каждый артефакт
for artifact in artifacts:
print(f"Улучшаем {artifact}:")
print(f" {artifact} +1")
# Поднимаем уровень артефакта до максимума
for level in range(0, 21, 4):
print(f" {artifact} +{level}")
# range(stop)
for i in range(4): # 0, 1, 2, 3
print(f"Выполнена комиссия {i + 1}")
# range(start, stop)
for level in range(80, 91): # 80 до 90
print(f"Повышение уровня до {level}")
# range(start, stop, step)
for value in range(0, 101, 25): # 0, 25, 50, 75, 100
print(f"Прогресс прокачки: {value}%")
# По списку
characters = ["Венти", "Чжун Ли", "Райдэн"]
for archon in characters:
print(f"{archon} - Архонт")
# По строке
name = "Кокоми"
for char in name:
print(char.upper())
# enumerate() для получения индексов
for index, char in enumerate(characters):
print(f"{index + 1}: {char}")
# Характеристики персонажа
stats = {
"HP": 15000,
"ATK": 2100,
"DEF": 850,
"Крит.шанс": 62.3
}
# Обход ключей и значений
for stat, value in stats.items():
print(f"{stat}: {value}")
# Только ключи
for stat in stats.keys():
print(f"Есть стат {stat}")
# Только значения
for value in stats.values():
print(f"Значение: {value}")
Создайте систему для расчёта необходимых материалов для прокачки Сян Лин с 60 до 90 уровня.
Требования для каждого возвышения:
# Словарь с требованиями
requirements = {
"60-70": {
"mora": 100000,
"fire_seeds": 3,
"scrolls": 12,
"slimes": 18
},
"70-80": {
"mora": 120000,
"fire_seeds": 6,
"scrolls": 24,
"slimes": 24
},
"80-90": {
"mora": 160000,
"fire_seeds": 9,
"scrolls": 36,
"slimes": 36
}
}
Программа должна:
# Подсчёт суммы для каждого материала
totals = {
"mora": 0,
"fire_seeds": 0,
"scrolls": 0,
"slimes": 0
}
for phase in requirements.values():
for material, amount in phase.items():
totals[material] += amount
# Расчёт опыта для уровней
exp_per_level = 20000
total_exp = sum(exp_per_level for _ in range(60, 90))