Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/75: Рейтинг темы: голосов - 75, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.02.2021
Сообщений: 15

Отсортировать числа по возрастанию последней цифры и записать в файл

23.04.2021, 16:38. Показов 15424. Ответов 11

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

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
def ssd(x):
    s = int(0)
    x = int(x)
    while x > 0:
        s = s + x % 10
        x = x // 10
    return s
 
 
doc = open('dz.txt', 'w')
file = open("input.txt", "r")
h = []
m = []
a = file.readlines()
print(a)
print(doc)
for i in file:
    h.append(i)
    m.append(ssd(i))
for i in range(0, len(h)):
    for j in range(i + 1, len(h)):
        if m[i] > m[j]:
            m[i], m[j] = m[j], m[i]
            h[i], h[j] = h[j], h[i]
print(h)
 
doc.close()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2021, 16:38
Ответы с готовыми решениями:

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

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

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

11
4 / 3 / 1
Регистрация: 19.03.2020
Сообщений: 12
23.04.2021, 21:25
Так как я еще новичок, то не особа поняла что вы написали, но есть альтернативное решение. Конечно не самое лучшее, но в принципе пойдет...
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
# Открываем первый файл и записываем 100 цифр в рандомном порядке,
# можете сами заранее записать и не использовать данные строчки
with open('input.txt', 'w') as file:
    for i in range(100):
        import random
        file.write(f"{str(random.randint(0,100))}\n")
#выполнение условии
with open('input.txt', 'r') as file:
    with open("dz.txt", "w") as file_2:
        a=[int(i) for i in file]
        a.sort()
        for i in a:
            file_2.write(f"{str(i)}\n")
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
23.04.2021, 22:37
mlkv, несколько советов
Цитата Сообщение от mlkv Посмотреть сообщение
for i in range(100):
        import random
Не надо 100 раз импортировать, как правило импорты пишутся в самом начале программы.
Цитата Сообщение от mlkv Посмотреть сообщение
file.write(f"{str(random.randint(0,100)) }\n")
В f-строках не нужно приводить число к str, это произойдет автоматически. По сути это то же форматирование.
Т.о. file.write(f"{random.randint(0,100)}\n")
Цитата Сообщение от mlkv Посмотреть сообщение
with open('input.txt', 'r') as file:
    with open("dz.txt", "w") as file_2:
Можно (и нужно) записать в одном контексте -
with open('input.txt', 'r') as file, open("dz.txt", "w") as file_2:

Удачи!
2
4 / 3 / 1
Регистрация: 19.03.2020
Сообщений: 12
24.04.2021, 09:05
оуу, насчёт f-строках тупанула знатно почему-то вчера это казалось самым верным решением, но большое спасибо за советы они мне очень помогли (๑°꒵°๑)・*♡
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2021, 09:19
mlkv, да на здоровье!
А теперь перепиши решение, чтобы оно выполняло поставленную задачу!
0
4 / 3 / 1
Регистрация: 19.03.2020
Сообщений: 12
24.04.2021, 09:35
окееей
Python
1
2
3
4
5
6
7
8
9
10
import random
with open('input.txt', 'w') as file:
    for i in range(100):
        file.write(f"{random.randint(0,100)}\n")
#выполнение условии
with open('input.txt', 'r') as file, open("dz.txt", "w") as file_2:
    a = [int(i) for i in file]
    a.sort()
    for i in a:
        file_2.write(f"{str(i)}\n")
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2021, 09:37
mlkv, читаем внимательно задание
Цитата Сообщение от god 2 Посмотреть сообщение
Отсортировать их по возрастанию последней цифры
0
4 / 3 / 1
Регистрация: 19.03.2020
Сообщений: 12
24.04.2021, 09:57
хмм, получилось как-то так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
with open('input.txt', 'w') as file:
    for i in range(100):
        file.write(f"{random.randint(0,100)}\n")
#выполнение условии
def k(a):
    for j in range(len(a)-1):
        for i in range(len(a)-j-1):
            if int(str(a[i])[-1]) > int(str(a[i + 1])[-1]):
                a[i],a[i + 1] = a[i + 1],a[i]
    return a
with open('input.txt', 'r') as file, open("dz.txt", "w") as file_2:
    a = [int(i) for i in file]
    a=k(a)
    for i in a:
        file_2.write(f"{str(i)}\n")
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2021, 10:22
mlkv, возьми на вооружение простейшую конструкцию - чтобы получить последнюю цифру числа, необязательно приводить число к строке, брать последний символ и переводить обратно в число. Достаточно взять остаток от деления на 10!
Python
1
if a%10 > b%10: ...
Добавлено через 1 минуту
Ну и почитай про "правильный" пузырек.
1
24.04.2021, 11:17

Не по теме:

Цитата Сообщение от iSmokeJC Посмотреть сообщение
"правильный" пузырек
0,5 минимум :)

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2021, 11:22

Не по теме:

eaa, в точку!


0
4 / 3 / 1
Регистрация: 19.03.2020
Сообщений: 12
24.04.2021, 18:45
огоо, анализируя все свои ошибки пришла к выводу, что я делаю одни и те же ошибки. У сложных на первый взгляд вещей, на удивление уж очень простые решение. Спасибо за все ваши подсказки, надеюсь с опытом потом еще буду над этим смеяться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.04.2021, 18:45
Помогаю со студенческими работами здесь

В файле записано не более 100 чисел. Отсортировать их по возрастанию последней цифры и записать в другой файл
Прошу помочь с заданием. https://www.cyberforum.ru/pascalabc/thread924809.html Это не подходит,т.к. программа не рабочая.

Отсортировать числа из файла input по возрастанию и записать в файл output.
В файле input.txt записаны числа (каждое — с новой строки), их количество не превышает 100. Необходимо отсортировать их по возрастанию ...

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

Прочитать из файла числа, отсортировать их по возрастанию, результат записать в другой файл
Прочитать из файла числа, отсортировать их по возрастанию, результат записать в другой файл.

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru