🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Tú y tus amigos organizaron un pequeño torneo en su videojuego favorito "Space Rangers". Cada uno de ustedes jugó una partida y registró los puntos finales. Ahora se enfrentan a la tarea más difícil — no solo encontrar al ganador, sino hacer una clasificación completa de todos los participantes.
La clasificación se determina según las siguientes reglas:
El programa recibe el número de participantes n y luego n líneas, cada una con el nombre del jugador y sus puntos. Muestra sus rangos finales en el mismo orden.
Requisitos:
Use solo construcciones básicas: entrada y salida de datos, operadores condicionales ( if ) y bucles for . Intente no usar funciones de ordenamiento incorporadas u otras estructuras de datos complejas.
Puntuaciones de los jugadores en el torneo (una línea que contiene enteros separados por un espacio).
Rangos para cada jugador en el mismo orden (una línea que contiene enteros separados por un espacio).
100 150 120 150 80
4 1 3 1 5 & nbsp;
# Получаем на вход строку с очками, разделенными пробелами
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=' ')
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...