0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9

В файле записаны в столбик целые числа. Отсортировать их по возрастанию суммы цифр и записать в другой файл

25.10.2019, 13:10. Показов 46774. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В файле записаны в столбик целые числа. Отсортировать их по возрастанию суммы цифр и записать в другой файл.

Как? можно с пояснениями, пожалуйста.))))))))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2019, 13:10
Ответы с готовыми решениями:

Отсортировать массив по возрастанию суммы цифр и записать его в файл output.txt, В файле input.txt записаны числа (в сто
program qq; var n , t : integer; a : array of integer; f: text; function sum(x : integer) : integer; var s : integer;...

Отсортировать числа из файла по возрастанию суммы цифр и записать в другой файл
Помогите, пожалуйста В файле записано не более 100 чисел. Отсортировать их по возрастанию суммы цифр и записать в другой файл....

Отсортировать числа из файла по возрастанию суммы цифр и записать в другой файл
В файле numbers.txt записан список из целых чисел. Отсортировать их по возрастанию суммы цифр и записать в другой файл.

19
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
25.10.2019, 13:32
Пожалуйста.
1. Считать файл.
2.1. Отсортировать хоть как-нибудь.
2.2. Потом - по возрастанию суммы цифр.
3. Записать резуольтат в файл.

Каждый из пунктов является элементарным и легко гуглится.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 14:23
2.1. Создать список с числами.
2.2. Написать функцию сортировки, которая будет считать сумму цифр в числе.
2.3. Отсортировать.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
25.10.2019, 15:20
Alexandra_20, пояснения к каждой задаче уровня седьмого класса - занимает много времени. Вашему вниманию представляю дядьку ГУГЕЛЬ! Он знает всё, в нём можно найти и перейти по ссылке к документации python!

Добавлено через 25 секунд
Alexandra_20, вы знаете, как открыть файл в python?

Добавлено через 53 минуты
Я конечно не старый скряга, но я не могу понять. Почему мне интересно подумать, придумать, написать (да как могу, да что-то не правильно, да в одну строку и с лямбдами я не могу), но я стараюсь, такие как - Alexandra_20, всё равно. Обидно же за поколение

Python
1
2
3
4
5
6
7
8
9
with open('input.txt') as t:
    nums = t.read().splitlines()
    hm =[]
    for i in list(sorted(nums)):
        ok = sum(map(int,i))
        hm.append(ok)
 
with open('output.txt', 'w') as w:
    print(sorted(hm), file=w)
2
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 15:41
Damenikx, только в файл нужно записать сами числа, а не сумму ))
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
25.10.2019, 15:43
Рыжий Лис, да? Вот блинский )
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 15:54
Лучший ответ Сообщение было отмечено Alexandra_20 как решение

Решение

In Python 3, the cmp parameter was removed,
Блин. Должно быть как-то так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
t = '''\
123
111
99'''
ls = t.split('\n')
print(ls)
 
def mycmp(x, y):
    print(x, y)
    return 0
 
ls2 = sorted(ls, cmp=mycmp)
print(ls2)
Добавлено через 3 минуты
Во!
Python
1
2
3
4
5
6
7
8
from functools import cmp_to_key
 
def mycmp(x, y):
    print(x, y)
    return 0
 
ls2 = sorted(ls, key=cmp_to_key(mycmp))
print(ls2)
Добавлено через 2 минуты
И с key, вроде, сортирует:
Python
1
2
3
4
5
6
7
def mykey(x):
    s = sum(map(int, x))
    print(x, 'sum =', s)
    return s
 
ls2 = sorted(ls, key=mykey)
print(ls2)
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
25.10.2019, 15:55
Лучший ответ Сообщение было отмечено Alexandra_20 как решение

Решение

Эх, лямбды, тогда так:

Python
1
2
3
4
5
with open('input.txt') as t:
    a = t.read().splitlines()
    a.sort(key=lambda x: sum(map(int, x)), reverse=True)
with open('output.txt', 'w') as w:
    print(*a, file=w)
Добавлено через 27 секунд
Рыжий Лис, всё проще, когда есть лямбды
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9
25.10.2019, 17:34  [ТС]
Рыжий Лис, а есть более упрощённая запись?)
И не могли бы Вы, пожалуйста, пояснить, что и для чего для лучшего понимания.)
Спасибо.)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 17:39
Лучший ответ Сообщение было отмечено Alexandra_20 как решение

Решение

ls = t.split('\n') - разбиваем прочитанный, получаем список строк.

Python
1
2
3
4
def mykey(x):
    s = sum(map(int, x))
    print(x, 'sum =', s)
    return s
Пишем функцию для сортировки. Где x - элемент списка. Функция считает сумму цифр и возвращает число, которое будет участвовать в сортировке.

ls2 = sorted(ls, key=mykey) - сортируем, получаем новый список.

Добавлено через 48 секунд
Функцию mykey() рекомендую выкинуть и написать свою реализацию.
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9
25.10.2019, 18:18  [ТС]
Рыжий Лис, программа не выполняется из-за ошибки. Я только пытаюсь разобраться в Python. Ничего не понимаю.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 18:19
Выложите на форум ваш код и текст ошибки.
0
25.10.2019, 18:20

Не по теме:

Цитата Сообщение от Alexandra_20 Посмотреть сообщение
Ничего не понимаю.
это обычное дело, пока книгу в руки не возьмешь.

0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9
25.10.2019, 18:25  [ТС]
Рыжий Лис, вот код:
Python
1
2
3
4
5
6
7
def cat(x):
    s = sum(map(int, x))
    print(x, 'sum =', s)
    return s
 
ls2 = sorted(ls, key=cat)
print(ls2)

Вот текст ошибки:

Traceback (most recent call last):
File "C:/Users/Админ/Desktop/Задание.py", line 6, in <module>
ls2 = sorted(ls, key=cat)
NameError: name 'ls' is not defined
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 18:27
Так файл нужно прочитать и заполнить переменную ls списком.

Добавлено через 1 минуту
*файл с числами.
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9
25.10.2019, 18:29  [ТС]
Рыжий Лис, это значит, что... (не поняла)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.10.2019, 18:30
Python
1
2
3
4
with open('input.txt') as f:
    t = f.read()
print(t)
ls = ...
0
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 9
25.10.2019, 18:42  [ТС]
Рыжий Лис, спасибо большое за помощь.)
Запуталась... Как полностью будет выглядеть код?
Я уже по-разному пробовала.

Добавлено через 2 минуты
Welemir1, читаю потихонечку.) Пытаюсь вникнуть.
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
26.10.2019, 00:54
Python
1
2
3
4
5
6
7
8
9
10
11
filename =  
f = open(filename, "r")
ls =    f.read().splitlines()
f.close()
def cat(x):
    s = sum(map(int, x))
    print(x, 'sum =', s)
    return s
 
ls2 = sorted(ls, key=cat)
print(ls2)
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
26.10.2019, 21:11
PyDev, а записать в другой файл?
Python
1
2
3
4
5
def fun(line):
    return sum(map(int,line))
 
with open('input.txt') as f_in, open('out.txt','w') as f_out:
    f_out.write('\n'.join(sorted(f_in.read().splitlines(), key = fun)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.10.2019, 21:11
Помогаю со студенческими работами здесь

В файле записаны целые числа. Найти максимальное и минимальное число и записать в другой файл
нужно сделать задачу в питоне

Отсортировать чисел по возрастанию суммы цифр и записать в другой файл
Ребят, помогите написать программу ПАСКАЛЬ, желательно сами, а не копировать у других источников сайта, срочно очень нужно,помогите ...

Отсортировать их по возрастанию суммы цифр и записать в другой файл. Используйте функцию, которая вычисляет
В файле записано не более 100 чисел. Отсортировать их по возрастанию суммы цифр и записать в другой файл. Используйте функцию, ...

Отсортировать числа в файле по возрастанию последней цифры и записать в другой файл
В файле записаны в столбик целые числа. Отсортировать их по возрастанию последней цифры и записать в другой файл.

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru