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

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

23.04.2021, 16:38. Показов 14958. Ответов 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
19528 / 11065 / 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
19528 / 11065 / 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
19528 / 11065 / 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
19528 / 11065 / 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
19528 / 11065 / 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru