• 1
    Entrada y salida de datos
    • Tareas
  • 2
    Condiciones
    • Tareas
  • 3
    Bucle for
    • Tareas
  • 4
    Cadenas de texto
    • Tareas
  • 5
    Bucle while
    • Tareas
  • 6
    Listas
    • Tareas
  • 7
    Matrices 2D
    • Tareas
  • 8
    Diccionarios
    • Tareas
  • 9
    Conjuntos
    • Tareas
  • 10
    Funciones y recursión
    • Tareas
  • к

Lección 3. FOR cycle

Dificultad:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Tarea«Rangos»

💻 Python

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:

  1. El jugador con la mayor cantidad de puntos recibe el 1.er lugar (rango 1).
  2. El segundo resultado más alto — 2.º lugar (rango 2), y así sucesivamente.
  3. Si varios jugadores obtuvieron la misma cantidad de puntos, todos comparten el mismo lugar. Por ejemplo, si dos jugadores obtuvieron la máxima cantidad de puntos, ambos reciben el rango 1. El siguiente jugador recibirá el rango 3 (ya que los dos primeros lugares están ocupados).

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.

Formato de entrada

Puntuaciones de los jugadores en el torneo (una línea que contiene enteros separados por un espacio).

Formato de salida

Rangos para cada jugador en el mismo orden (una línea que contiene enteros separados por un espacio).

Ejemplo

Entrada

100 150 120 150 80

Salida

4 1 3 1 5 & nbsp;

Pista

There will be no clue here, decide for yourself!

main.py
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Prueba 6
Prueba 7
Prueba 8
Prueba 9
Prueba 10
Solución del desarrollador
# Получаем на вход строку с очками, разделенными пробелами
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

red-snake blue-snake green-snake

Ejecutando tu código...

Asistente de IA

¡Hola! Soy tu asistente de programación. Hazme cualquier pregunta sobre Python — puedo explicarte funciones, métodos y ayudarte con la tarea actual.