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

Быстрая сортировка файла

13.11.2021, 12:46. Показов 1470. Ответов 3

Студворк — интернет-сервис помощи студентам
В программе реализовать алгоритм быстрой сортировки
Файл создать при помощи random




Написать программу сортировки текстовых строк.
Входные данные:
- имя входного и выходного файлов (вводит пользователь);

- текстовый файл, содержащий до 300 чисел по одной на каждой строке.

Обработка ошибок:
- файл не найден;

- файл уже существует.

Выходные данные:
На экран:

- описание программы на 10-20 слов (что делает программа?);

- наименование алгоритма сортировки;

- информативные сообщения с приглашением на ввод и оповещением об ошибках
(например, фраза: "wrong input" пользователю ничего не говорит, ошибку
нужно чётко обозначить, например: "Файл не найден.").

В файл:

- отсортированный текст.


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




Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def file():
    import random
    file=open("nums.txt","w")
    a=[x for x in range(100)]
    random.shuffle(a)
    for l in a:
        file.write(str(l))
        file.write("\n") 
    
print("Программа сортирует созданный файл")
 
while True:
        offer=input("Создать файл nums.txt с рандомно перемешанными числами от 0 до 100? [да/нет] ")
        if offer=="да":
            file()
            break
        elif offer=="нет":
            break
        print("\n")
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2021, 12:46
Ответы с готовыми решениями:

Быстрая сортировка
Добрый день, друзья! Написал быструю сортировку, но выдает ошибку, связанную с рекурсией. Ума не приложу, как исправить, чтобы сортировал. ...

Быстрая сортировка
Всем привет! Недавно начал заниматься алгоритмами. На данном моменте изучаю быструю сортировку. Код переписал из источника, вроде бы все...

Быстрая сортировка
Пишем функцию quick1(listA), которая берет на вход listA - список с количеством элементов не менее трех, выбирает элемент x посередине...

3
 Аватар для Kozak_228
11 / 6 / 5
Регистрация: 14.12.2019
Сообщений: 73
13.11.2021, 17:58
figinna, функция сортировки выборкой
Python
1
2
3
4
5
6
7
8
9
10
11
def selection_sort(vybor):
    for i in range(len(vybor)):
        minn = i
        for j in range(i + 1, len(vybor)):
            if vybor[j] < vybor[minn]:
                minn = j
        vybor[i], vybor[minn] = vybor[minn], vybor[i]
 
#Вызов функции. а - лист с числами 
selection_sort(а)
#следующие действия c отсортированным листом
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
13.11.2021, 18:44
Что понимается под "сортировкой файла"? Файл можно целиком загружать в память или нет?
0
0 / 0 / 0
Регистрация: 22.10.2021
Сообщений: 16
15.11.2021, 13:26  [ТС]
в общем, сортировка готова

мне теперь требуется:

имя входного и выходного файлов (вводит пользователь)

и

Обработка ошибок:
- файл не найден;

- файл уже существует.


выглядит программа вот так:

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
28
29
30
31
32
33
34
35
36
37
def file():
    import random
    file=open("nums.txt","w")
    a=[x for x in range(300)]
    random.shuffle(a)
    for l in a:
        file.write(str(l))
        file.write("\n") 
    
print("Программа сортирует созданный файл при помощи метода: быстрая сортировка")
 
while True:
        offer=input("Создать файл nums.txt с рандомно перемешанными числами от 0 до 300? [Yes/No] ")
        if offer=="yes":
            file()
            break
        elif offer=="no":
            print
            break
        print("\n")
 
 
with open('nums.txt') as f:
    text = [int(x) for x in f]
    
import random
 
def sort(text):
    if len(text) <= 1:
        return text
    else:
        q = random.choice(text)
        L = [elem for elem in text if elem < q]
        M = [q] * text.count(q)
        R = [elem for elem in text if elem > q] 
        return sort(L) + M + sort(R)
print(sort(text))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2021, 13:26
Помогаю со студенческими работами здесь

Быстрая сортировка
Напишите программу, которая сравнивает число перестановок элементов при исполь-зовании сортировки «пузырьком», методом выбора и алгоритма...

Быстрая сортировка
Помогите пожалуйста! Нужна программа, выполняющая быструю сортировку.Желательно несколько кодов,и не больших по объему.Спасибо)

Быстрая сортировка
Быстрая сортировка является алгоритмом, который... Ответ: обычно сортирует массив O(N^2) операций?

Быстрая сортировка
Разработайте функции для выполнения следующих операций со списками: 1. Быстрая сортировка;

Быстрая сортировка стека
Помогите разобраться с сортировкой. Cтек нужно отсортировать (сортировка Хоара). Разделила на левую и правую часть, а как их дальше...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru