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

Написать код,который будет заменять несколько дубликатов слова,стоящих в 1 строке на 1 такое слово

10.11.2022, 20:20. Показов 1308. Ответов 25

Студворк — интернет-сервис помощи студентам
все должно быть в 1 файле
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2022, 20:20
Ответы с готовыми решениями:

Как написать код, который будет считать все слова, где букв больше 7 и выводить на экран
Я делаю программу в форме на вроде текстового редактора Сделал, что бы шрифт, цвет менялся, сделал, что бы файлы другие можно было...

нужно написать код, который считает количество дубликатов
Мне нужно сделать следующее (это оригинал на английском): Consider this data sequence: "3 11 5 5 5 2 4 6 6 7 3 -8". Any value that...

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

25
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 12:55
Python
1
2
3
string1 = "stop please please stop do do so shitty topics on on this forum please" # здесь твоя строка
words = string1.split()
print (" ".join(sorted(set(words), key=words.index)))
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 14:08  [ТС]
rim41, нужно делать это не в строке,а в текстовом файле.
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 14:19
Цитата Сообщение от Serrottt Посмотреть сообщение
rim41, нужно делать это не в строке,а в текстовом файле.
файл должен редактироваться или должен печататься файл без дубликатов?
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 14:21  [ТС]
rim41, редактироваться
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 14:26
В начало файла впиши
Python
1
with open("имя файла.расширение") as string:
вроде так, не работал давно с файлами. должно сработать.

Добавлено через 1 минуту
а, редактироваться, тогда вроде надо немного по другому

Добавлено через 1 минуту
в начале файла должно быть
Python
1
2
f = open(<file>, 'r+')
string = f.read()
потом то что я писал изначально, а в конце
Python
1
f.close()
upd ну и вместо принта разумеется ввод в файл
upd2 ввод в файл реализуется путем
Python
1
2
3
f1 = open('result.txt', 'w')
f1.write(string)
f1.close
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 14:39
Мне интересно, по условию как должно обрабатывать строку:
"stop please please topics stop"
Вывод:
"stop please topics stop"
или
"stop please topics"
или
"please topics stop"
и т.д.
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 14:47  [ТС]
Alexarh, stop please topics stop,тк должны удаляться одинаковые слова,идущие друг за другом
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 14:50
Цитата Сообщение от Alexarh Посмотреть сообщение
как должно обрабатывать
обычно в таких случаях надо оставлять первое упоминание слова, либо в условии гарантируется что повторяющиеся слова не будут идти подряд

Добавлено через 1 минуту
Цитата Сообщение от Serrottt Посмотреть сообщение
идущие друг за другом
А где это в условии??? почему уже несколько сообщений подряд нет оповещения от вас про то что изначальный алгоритм неверен из-за кривого тз?
1
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 14:50  [ТС]
rim41, Да,верно
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 14:52
Serrottt,
Python
1
2
3
4
from itertools import groupby
 
s = "stop please please stop do do so shitty topics on on this forum please"
print(' '.join(k for k, _ in groupby(s.split())))
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 14:55
Цитата Сообщение от Alexarh Посмотреть сообщение
groupby
сомневаюсь что это лучшая идея для новичка при возможности сделать всё гораздо проще. Имхо ответы новичкам должны быть такими чтоб они их поменяли, если только ответ не даётся ради уничтожения потенциальной конкуренции
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 15:00  [ТС]
rim41,
Цитата Сообщение от rim41 Посмотреть сообщение
f1 = open('result.txt', 'w')
а разве эта строка не создаст файл result и уже в нем будет исправленный текст?
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 15:03
Serrottt, создаст или перезапишет файл. Так и редактируются файлы, нельзя просто так взять и одну строку в файле изменить. Читаешь файл, изменяешь, записываешь измененный файл.
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 15:10
Цитата Сообщение от Serrottt Посмотреть сообщение
а разве эта строка не создаст файл result и уже в нем будет исправленный текст?
именно. Понятия не имею как, но возможно есть способ удалить содержимое первоначального файла и записать туда string, тогда без переменной f1 надо будет записать сразу в f

Добавлено через 1 минуту
Кстати из файла можно извлечь название и расширение в отдельную переменную, удалить файл после обработки содержимого и создать новый с таким же названием как и было. Это через библиотеку os встроенную в питон можно сделать

Добавлено через 2 минуты
Python
1
fileName = os.path.basename(f.name)
сохранит название в переменную
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 15:11  [ТС]
Alexarh,
Python
1
2
3
4
5
6
7
f = open("file1.txt", 'r+')
string = f.read()
words = string.split()
print (" ".join(sorted(set(words), key=words.index)))
f1 = open('result.txt', 'w')
f1.write(string)
f1.close
я написал это,но он не записывает значение string в файл result.
еще я не понимаю,как мы может редактировать string,которая считала с f
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 15:13
Python
1
os.remove(fileName)
должно удалить файл, если не сработает - надо полный путь прописывать к файлу в аргумент

Добавлено через 28 секунд
Цитата Сообщение от Serrottt Посмотреть сообщение
f1.close
тута скобочки нада

Добавлено через 45 секунд
Serrottt, я выше описал покомандно практически весь процесс, надеюсь поможет
0
0 / 0 / 0
Регистрация: 24.10.2022
Сообщений: 65
11.11.2022, 15:16  [ТС]
Цитата Сообщение от rim41 Посмотреть сообщение
возможно есть способ удалить содержимое первоначального файла и записать туда string
я так и пытался
0
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
11.11.2022, 15:18
Лучший ответ Сообщение было отмечено Serrottt как решение

Решение

Итого мы имеем следующий код, который должен работать:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os
 
 
f = open('myfile.txt', 'r')
string1 = f.read()
words = string1.split()
 
stringResult = (" ".join(sorted(set(words), key=words.index)))
 
fileName = os.path.basename(f.name)
os.remove(fileName)
 
f1 = open(fileName, 'w')
f1.write(stringResult)
 
f1.close()
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 15:19
Только я не понял какой все же тебе вывод нужен. Это другой вывод, который в условии, но не в твоем решении.
Python
1
2
3
4
5
6
with open('input.txt', 'r', encoding='utf-8') as f1:
    arr = f1.read().splitlines()
with open('input.txt', 'w', encoding='utf-8') as f2:
    for x in arr:
        s = x.split()
        f2.write(' '.join(s[i] for i in range(len(s)) if i == 0 or s[i] != s[i-1]) + '\n')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2022, 15:19
Помогаю со студенческими работами здесь

Код который будет удалять заданное слово(через string)
Пользователь вводит строку. Удалить из строки все слова «school». Вывести результат на консоль

Нужен шифратор/дешифратор, который будет заменять буквы в тексте
Мне нужен год по которому программа будет заменять буквы в тексте. Например А на Б, Г на З и т.д. И сохранять в файл И по такому же...

Возможно ли такое? Написать сервер, который будет принимать запросы с других сайтов, и ответ посылать на них же
1) Возможно ли написать серверное приложение, которое будет принимать запросы с других сайтов, их обрабатывать и высылать ответ на эти же...

Если в pascal тип данных, который будет заменять string и integer сразу?
Если в pascal тип данных,который, будет заменять string и integer сразу?

Как создать такой скрипт, который будет заменять все вхождения в тексте?
Всем доброго времени суток. Как сделать такой скрипт (например, на Python)? Есть такой текст: number1 () number2 (!) number3 ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
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