В некотором файле содержатся детские имена. Каждое имя указано с новой строки. После имени через пробел записано одно целое число - количество названных этим именем детей. Имена в файле перемешаны в случайном порядке. 
 
Напишите программу, которая считает данные из файла и выведет на экран 5 наиболее популярных имен (каждое в отдельной строке). Имя файла подается на вход и заранее не известно. Если указанного файла не существует, необходимо вывести сообщение "Файл не найден". 
Пример: 
Если в файле находятся следующие строки: 
Аня 5 
Саша 10 
Кирилл 150 
Игорь 1 
Юля 999 
Миша 2
Вы должны вывести имена Юля, Кирилл, Саша, Аня, Миша (в порядке убывания количества, каждое в отдельной строке) 
Пж поставьте в ответе отступы)
	
	
	Python
	
		
		
								
				
 
Затем с помощью функции sorted() сортируется словарь по убыванию количества детей, и выводятся первые 5 имен с наибольшим количеством упоминаний. Если файл не найден, программа выведет сообщение "Файл не найден".
				
									
																				
							
								
				
																				
							
			
	
		
			Срочно помогите с задачей на Python!!!
 filename = input("Введите имя файла: ") 
try: 
    with open(filename) as file: 
        names = {} 
        for line in file: 
            name, count = line.strip().split() 
            names[name] = names.get(name, 0) + int(count) 
        sorted_names = sorted(names.items(), key=lambda x: x[1], reverse=True) 
        for name, count in sorted_names[:5]: 
            print(name) 
except FileNotFoundError: 
    print("Файл не найден") Эта программа считывает имя файла с помощью функции input(), затем открывает файл с помощью оператора with open. Затем происходит считывание каждой строки, а количество детей для каждого имени добавляется в словарь names. Затем с помощью функции sorted() сортируется словарь по убыванию количества детей, и выводятся первые 5 имен с наибольшим количеством упоминаний. Если файл не найден, программа выведет сообщение "Файл не найден".
								
									Максим Ост								
								Не подходит(							
																				
								
									Дмитрий Овчинников								
								Стоит ещё кодировку обработать - у меня упало, т.к. файл в UTF8 был.							
											Конечное решение может выглядеть следующим образом: 
 
```
filename := ReadString('Введите имя файла: ');
 
if not FileExists(filename) then
begin
WriteLn('Файл не найден');
Halt;
end;
 
var
names: array of string;
counts: array of integer;
i, j, maxIndex: integer;
maxCount: integer = -1;
temp: string;
 
var
input: TextFile;
begin
AssignFile(input, filename);
Reset(input);
 
while not EOF(input) do
begin
ReadLn(input, temp);
temp := Trim(temp);
 
var spaceIndex := Pos(' ', temp);
var name := Copy(temp, 1, spaceIndex - 1);
var countStr := Copy(temp, spaceIndex + 1, Length(temp) - spaceIndex);
var count := StrToIntDef(countStr, 0);
 
var index := -1;
for i := 0 to High(names) do
begin
if names[i] = name then
begin
index := i;
Break;
end;
end;
 
if index = -1 then
begin
index := Length(names);
SetLength(names, index + 1);
SetLength(counts, index + 1);
names[index] := name;
counts[index] := 0;
end;
 
counts[index] := counts[index] + count;
end;
 
CloseFile(input);
 
for i := 0 to Min(4, High(names)) do
begin
maxCount := -1;
for j := i to High(names) do
begin
if counts[j] > maxCount then
begin
maxCount := counts[j];
maxIndex := j;
end;
end;
temp := names[i];
names[i] := names[maxIndex];
names[maxIndex] := temp;
counts[maxIndex] := counts[i];
counts[i] := maxCount;
WriteLn(names[i]);
end;
end.
```
 
Здесь используется динамический массив для хранения имен и соответствующих им количеств, которые считываются из файла. После чтения всех данных производится сортировка массива имен в порядке убывания количества, и выводятся первые 5 имен. Если в файле меньше 5 имен, то будут выведены все, что есть. Если указанный файл не существует, программа выведет сообщение "Файл не найден".
				
									```
filename := ReadString('Введите имя файла: ');
if not FileExists(filename) then
begin
WriteLn('Файл не найден');
Halt;
end;
var
names: array of string;
counts: array of integer;
i, j, maxIndex: integer;
maxCount: integer = -1;
temp: string;
var
input: TextFile;
begin
AssignFile(input, filename);
Reset(input);
while not EOF(input) do
begin
ReadLn(input, temp);
temp := Trim(temp);
var spaceIndex := Pos(' ', temp);
var name := Copy(temp, 1, spaceIndex - 1);
var countStr := Copy(temp, spaceIndex + 1, Length(temp) - spaceIndex);
var count := StrToIntDef(countStr, 0);
var index := -1;
for i := 0 to High(names) do
begin
if names[i] = name then
begin
index := i;
Break;
end;
end;
if index = -1 then
begin
index := Length(names);
SetLength(names, index + 1);
SetLength(counts, index + 1);
names[index] := name;
counts[index] := 0;
end;
counts[index] := counts[index] + count;
end;
CloseFile(input);
for i := 0 to Min(4, High(names)) do
begin
maxCount := -1;
for j := i to High(names) do
begin
if counts[j] > maxCount then
begin
maxCount := counts[j];
maxIndex := j;
end;
end;
temp := names[i];
names[i] := names[maxIndex];
names[maxIndex] := temp;
counts[maxIndex] := counts[i];
counts[i] := maxCount;
WriteLn(names[i]);
end;
end.
```
Здесь используется динамический массив для хранения имен и соответствующих им количеств, которые считываются из файла. После чтения всех данных производится сортировка массива имен в порядке убывания количества, и выводятся первые 5 имен. Если в файле меньше 5 имен, то будут выведены все, что есть. Если указанный файл не существует, программа выведет сообщение "Файл не найден".
								
									Максим Ост								
								Не подходит							
																				
								
									Кувандык Ишкулов								
								Ты хоть бы забил в свой gpt что это Python							
											Похожие вопросы
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите пожалуйста задачей по Python.
- Можете помочь с задачей на Python.
- Помогите решить задачу на python!
- Помогите решить задачу на Python.
- Помогите с задачей по Python. Одно задание осталось, что-то не получается.
- Помогите решить задачу на Python
- Помогите решить задачу на Python
 
			