Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/55: Рейтинг темы: голосов - 55, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.05.2020
Сообщений: 4
1

Второй тур-4

27.05.2020, 23:03. Показов 11235. Ответов 5

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с задачей

В файле input.txt записаны данные об участниках конкурса «Рога и Копыта»: фамилии, имена и количество баллов, набранных в первом туре. Во второй тур проходят участники, которые набрали более K баллов в первом туре. Напишите программу, которая выводит в файл output.txt данные всех участников, прошедших во второй тур, с нумерацией. Список должен быть отсортирован по убыванию набранных баллов. Порядок расстановки участников, набравших одинаковые баллы, должен быть сохранен.

Входные данные
В первой строке файла input.txt записано натуральное число K . В следующих строках записаны данные об участниках в следующем формате:

<фамилия> <имя> <количество баллов>

Данные каждого участника записаны в отдельной строке, все элементы разделены одиночными пробелами. Количество участников не превышает 10000.

Выходные данные
В первой строке нужно вывести в файл output.txt количество участников второго тура. Затем программа должна вывести фамилии, инициалы количество баллов всех участников, прошедших во второй тур, с нумерацией. Имя нужно сократить до одной буквы. Список должен быть отсортирован по убыванию набранных баллов. Порядок расстановки участников, набравших одинаковые баллы, должен быть сохранен.

Примеры
входные данные:
80
Smith Jack 80
Cormen Alex 92
Knuth Donald 98
Mirabella Maria 78

выходные данные:
2
1) D. Knuth 98
2) A. Cormen 92
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2020, 23:03
Ответы с готовыми решениями:

Второй тур-2
Помогите решить задачу на PYTHON, пожалуйста В файле input.txt записаны данные об участниках...

Напишите программу, которая выводит в файл данные всех участников, прошедших во второй тур, с нумерацией
Задача 7. Турнир В файле first_tour.txt записано число K и данные об участниках турнира по...

Заключительный тур олимпиады
На финальный тур олимпиады прошло N участников, и всех их надо рассадить в две аудитории. Умная...

Заочные олимпиады: Короткий тур заочного этапа
Не могу решить задачу, помогите, пжл. Объединение чисел Дан массив натуральных чисел a1,a2,…,an,...

Если вся 1-я строка присутствует во второй, то удалить из второй строки первую
Создать две строки и если вся 1-я строка присутствует во второй, то удалить из второй строки первую.

5
4 / 3 / 2
Регистрация: 25.08.2020
Сообщений: 14
31.03.2021, 19:48 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
new_file = open("first_tour.txt", "r", encoding="utf8")
k = int(new_file.readline())
 
new_list = []
 
for line in new_file:
    new_line = line.split()
 
    if int(new_line[-1]) > k:
        new_list.append(new_line)
new_file.close()
 
new_list.sort(key=lambda a: int(a[-1]))
new_list.reverse()
 
count = str(len(new_list))
# счетчик победителей вышедших во второй тур count
out_lst = []
for i in new_list:
    name_sim = str(i[-2][1])+'.'
    s_win = list(name_sim + str(i[1]) + str(i[-1]))
    out_lst.append(s_win)
# новый список с списками строк с инициалом имени, фамилией и
# количеством баллов
with open("second_tour.txt", "a+", encoding='utf-8') as f_out:
    f_out.write(count)
    f_out.write(out_lst)
# открытие/создание файла в режиме до-записывания, запись
 
for i, val in enumerate(out_lst, start=1):
    print(f' {i} ) {str(val)}')
# вывод значений записанного файла
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
31.03.2021, 20:05 3
Цитата Сообщение от charitonov Посмотреть сообщение
Причина: и снова, с отступами беда
- используй тэги языков !!!
0
4 / 3 / 2
Регистрация: 25.08.2020
Сообщений: 14
31.03.2021, 20:06 4
Спасибо...
не знал))
0
0 / 0 / 0
Регистрация: 06.12.2021
Сообщений: 1
06.12.2021, 11:45 5
Я сделал в таком формате:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
new_file = open("first_tour.txt", "r", encoding="utf8")
k = int(new_file.readline())
 
new_list = []
 
for line in new_file:
    new_line = line.split()
 
    if int(new_line[-1]) > k:
        new_list.append(new_line)
 
new_file.close()
 
new_list.sort(key=lambda a: int(a[-1]))
new_list.reverse()
 
count = str(len(new_list))
 
 
# счетчик победителей вышедших во второй тур count
out_lst = []
for i in new_list:
    name_sim = str(i[-2]) + ' ' + str(i[-3])
    s_win = name_sim + ' ' + str(i[-1])
 
    out_lst.append(s_win)
    # print(name_sim)
    print(out_lst)
# новый список с списками строк с инициалом имени, фамилией и
# количеством баллов
with open("second_tour.txt", "a+", encoding='utf-8') as f_out:
    f_out.write(f'{count}\n')
    for i, values in enumerate(out_lst, start=1):
        f_out.write(f'{i}) {values}\n')
0
1 / 1 / 0
Регистрация: 29.01.2023
Сообщений: 4
29.01.2023, 18:53 6
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
new_file = open("first_tour.txt", "r", encoding="utf8")
k = int(new_file.readline())
 
new_list = []
 
for line in new_file:
    new_line = line.split()
 
    if new_line != [] and int(new_line[-1]) > k:
        new_list.append(new_line)
new_file.close()
 
new_list.sort(key=lambda a: int(a[-1]))
new_list.reverse()
 
count = str(len(new_list))
 
out_lst = []
n = 1
for i in new_list:
    name_sim = str(i[-2][0]) + '.'
    s_win = str(n) + ') ' + name_sim + ' ' + i[-3] + ' ' + i[-1]
    out_lst.append(s_win)
    n += 1
 
with open("second_tour.txt", "w", encoding='utf-8') as f_out:
    f_out.write(count + '\n')
    s = '\n'.join(out_lst)
    f_out.write(s)
 
for i in out_lst:
    print(f'{i}')
0
29.01.2023, 18:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2023, 18:53
Помогаю со студенческими работами здесь

Напечатать все символы, расположенные между первой и второй запятыми. Если второй запятой нет, то должны быть напечатан
Дано предложение. Напечатать все символы, расположенные между первой и второй запятыми. Если...

Данные из космоса. Второй тур
Василий получил ваши данные и поблагодарил вас, поскольку вы ему очень помогли. Прошло время, и он...

Файл: Программа должна вывести в файл output.txt фамилии и имена всех участников, прошедших во второй тур, с нумерацией
В файле input.txt записаны данные об участниках конкурса «Рога и Копыта»: фамилии, имена и...

Второй тур-2
В файле input.txt записаны данные об участниках конкурса «Рога и Копыта»: фамилии, имена и...

Данные из космоса. Второй тур
Василий получил ваши данные и поблагодарил вас, поскольку вы ему очень помогли. Прошло время, и он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru