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

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

23.04.2021, 16:38. Показов 15119. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru