Информатика, вопрос задал Kirik100 , 6 лет назад

ДАЮ 60 БАЛЛОВ
Задача по программированию.
Дать код только на питоне, паскали и другой дичи не надо.

Условие:
В каждой строке сначала записан номер класса (число, равное 9, 10 или 11), затем (через пробел)
— фамилия ученика.
Необходимо вывести список школьников по классам: сначала всех учеников 9 класса, затем — 10,
затем — 11. Внутри одного класса порядок вывода фамилий должен быть таким же, как на входе.

Формат входных данных:
В первой строке записано число n (3 ⩽ n ⩽ 1000) — количество записей.
В каждой из следующих n строк сначала записан номер класса (число, равное 9, 10 или 11),
затем (через пробел) — фамилия ученика.

Формат выходных данных:
Необходимо вывести список школьников по классам: сначала всех учеников 9 класса, затем — 10,
затем — 11. Внутри одного класса порядок вывода фамилий должен быть таким же, как на входе.

Пример:
ввод:
6
9 Ivanov
10 Petrov
11 Sidorov
9 Grigoryev
9 Sergeev
10 Yakovlev

вывод:
9 Ivanov
9 Grigoryev
9 Sergeev
10 Petrov
10 Yakovlev
11 Sidorov

Ответы на вопрос

Ответил Sulik200000
2

Ответ:

n = int(input())

pupilsNine = []

pupilsTen = []

pupilsEleven = []

for i in range(0, n):

   arr = input().split(' ')

   if arr[0] == '9':

       pupilsNine.append(arr[1])

   elif arr[0] == '10':

       pupilsTen.append(arr[1])

   elif arr[0] == '11':

       pupilsEleven.append(arr[1])

for i in pupilsNine:

   print(f"9 {i}")

for i in pupilsTen:

   print(f"10 {i}")

for i in pupilsEleven:

   print(f"11 {i}")


Kirik100: большое спасибо
anonymous2010: нету проверки 3 <= n <= 1000
Ответил anonymous2010
0

print(*[f"{data[0]} {data[1]}" for data in sorted([(input().split( )) for _ in range(int(*[n for n in [int(input())] if 3 <= n <= 1000 ]))], key=lambda x: int(x[0]))], sep='\n')

ето одна строчка ^_^


Sulik200000: О боже... Я и забыл про прикол Питона в этом.... Я просто С++ программист :((
anonymous2010: ахахах
anonymous2010: кста в питоне split() по дефолту стоит ' '
anonymous2010: и в range по дефолту range(0, ?, 1)
Sulik200000: Нифига себе кнш... Ну я перехожу на шарп, там тоже норм, в принципе
Новые вопросы