🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
你和你的朋友们在你最喜欢的电子游戏《太空游侠》中组织了一场小型锦标赛。你们每人进行了一局游戏,并记录了最终得分。现在你面临最艰巨的任务——不仅要找出获胜者,还要对所有参与者进行完整排名。
rn排名按以下规则确定:
rn输入数据包含玩家数量及其得分。输出数据以相同顺序显示他们的最终排名。
rn 要求:
仅使用基本结构:数据输入输出、条件运算符( if )和循环 for 。尽量不要使用内置排序函数或其他复杂数据结构。
比赛中选手的眼镜(一行包含以空格分隔的整数)。
每位玩家的排名,顺序相同(一行包含以空格分隔的整数)。
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=' ')
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...