🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы с друзьями устроили небольшой турнир по вашей любимой видеоигре "Космические Рейнджеры". Каждый из вас сыграл по одной партии и записал итоговые очки. Теперь перед вами стоит самая сложная задача — не просто найти победителя, а составить полный рейтинг всех участников.
Рейтинг определяется по следующим правилам:
Напишите программу, которая принимает на вход очки всех игроков и выводит их итоговые ранги в том же порядке.
Требования:
Используйте только базовые конструкции: ввод и вывод данных, условные операторы (if) и циклы for. Постарайтесь не использовать встроенные функции сортировки или другие сложные структуры данных.
Очки игроков в турнире (одна строка, содержащая целые числа, разделенные пробелом).
Ранги для каждого игрока в том же порядке (одна строка, содержащая целые числа, разделенные пробелом).
100 150 120 150 80
4 1 3 1 5
# Получаем на вход строку с очками, разделенными пробелами
scores_str = input().split()
# Создаем пустой список, в который будем складывать числовые значения очков
scores = []
# С помощью цикла for проходим по каждому элементу в списке строк
for s in scores_str:
# Преобразуем каждую строку в целое число и добавляем в список scores
scores.append(int(s))
# Создаем список для будущих рангов, по размеру такой же, как список очков
# Изначально он может быть заполнен любыми значениями, например, нулями
ranks = [0] * len(scores)
# Главный цикл: проходим по каждому очку в списке, чтобы вычислить его ранг
# Переменная 'i' будет индексом текущего игрока
for i in range(len(scores)):
# Для каждого очка начинаем считать ранг с 1 (самый высокий ранг)
current_rank = 1
# Вложенный цикл: сравниваем текущее очко (scores[i]) со всеми остальными в списке
# Переменная 'j' будет индексом игрока, с которым мы сравниваем
for j in range(len(scores)):
# Если мы находим очко (scores[j]), которое строго больше текущего (scores[i])...
if scores[j] > scores[i]:
# ...то ранг нашего текущего игрока 'i' становится хуже, поэтому увеличиваем его на 1
current_rank += 1
# После сравнения со всеми остальными, записываем вычисленный ранг в список рангов
# на ту же позицию 'i', где находится очко этого игрока
ranks[i] = current_rank
# Выводим итоговый список рангов
# Проходим циклом по всем элементам списка ranks
for r in ranks:
# Печатаем каждый ранг, добавляя после него пробел, чтобы все было в одну строку
print(r, end=' ')
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...