Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для jkom-18rus
88 / 33 / 8
Регистрация: 26.02.2016
Сообщений: 326

Как собрать множество из строки слов, разделённых разными разделителями

05.02.2024, 18:48. Показов 2604. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Собственно вопрос в теме - как собрать множество из строки слов, разделённых разными разделителями?
Питон не понимает ? и \

Код из примера
Python
1
2
3
4
5
6
7
8
# Вводим строку с разными разделителями
input_string = "слово1?слово2\\слово3!"
 
# Разделяем строку по знакам вопроса, обратной косой черты и восклицательного знака
result = input_string.split('?\\!')
 
# Выводим результат
print(set(result))
Разделители не отсекает

Мой код тоже спотыкается - точнее не отсекает ? и \
Python
1
2
3
4
5
6
7
import re
instr = input("Введите множество A: ")
#print(set(re.split(";|,|", instr)))
#print(set(re.split('['.|,|;]', instr)))
#print(re.split('[ .,;:|/!]',instr))
print(set(instr.split(' .,;:|/!?\\')))
#print(set(instr))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2024, 18:48
Ответы с готовыми решениями:

Сформировать массив целых чисел из строки с разными разделителями
Нужна помощь, видели решение подобной задачи, но не смогли понять, как оно работает. Код нужен на С++ Дана строка, содержащая...

Есть текст, состоящий из слов, разделенных пробелами. Вам нужно найти слово с разными буквами
Нужно сделать через открытие файла #include <iostream> #include <sstream> #include <string> #include <algorithm> using...

Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

29
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
08.02.2024, 20:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от jkom-18rus Посмотреть сообщение
Может, подскажете готовую строку кода с \w?
Сформулируйте задачу. По типу:
1. Что на входе?
2. Что надо получить на выходе?
... только без попытки её неверного решения...

Цитата Сообщение от jkom-18rus Посмотреть сообщение
Действия равнозначны и по идее должны идти по порядку
Нет.
Цитата Сообщение от jkom-18rus Посмотреть сообщение
ответ не верный. Почему?
Приоритет операций питона
Приоритетность сверху-вниз, высокий приоритет сверху:
Code
1
2
3
4
5
6
7
8
9
10
11
12
()  Скобки
**  Возведение в степень
+x, -x, ~x  Унарные плюс, минус и битовое отрицание
*, /, //, % Умножение, деление, целочисленное деление, остаток от деления
+, -    Сложение и вычитание
<<, >>  Битовые сдвиги
&   Битовое И
^   Битовое исключающее ИЛИ (XOR)
|   Битовое ИЛИ
==, !=, >, >=, <, <=, is, is not, in, not in    Сравнение, проверка идентичности, проверка вхождения
not Логическое НЕ
and Логическое И
В общем, как Вам и сказали выше, не торопитесь...
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
пару недель спокойного изучения основ и все станет как ясный день
1
 Аватар для jkom-18rus
88 / 33 / 8
Регистрация: 26.02.2016
Сообщений: 326
09.02.2024, 16:25  [ТС]
Цитата Сообщение от YuS_2 Посмотреть сообщение
Сформулируйте задачу
На входе набор слов. Слова могут быть с "мусорными" символами и лишними пробелами.
На выходе строки слов, состоящие из символов кириллицы, латиницы и цифр.

Вход: _слово1! < слово2 ?сло(во)3
Выход: слово1 слово2 слово3

Цитата Сообщение от YuS_2 Посмотреть сообщение
Приоритетность
Понял. Но по правилам дискретной математики "Битовое ИЛИ" и "Сложение и вычитание" равнозначный. Как мне выкручиваться из этой ситуации?
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
09.02.2024, 18:19
Цитата Сообщение от jkom-18rus Посмотреть сообщение
На входе набор слов. Слова могут быть с "мусорными" символами и лишними пробелами.
На выходе строки слов, состоящие из символов кириллицы, латиницы и цифр.
Вход: _слово1! < слово2 ?сло(во)3
Выход: слово1 слово2 слово3
Python
1
2
3
4
s =  '_слово1! < слово2 ?сло(во)3'
res = ''.join(e for e in s if e.isalnum() or e.isspace())
res = ' '.join(res.split())
print(res)
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
09.02.2024, 20:39
Цитата Сообщение от jkom-18rus Посмотреть сообщение
На выходе строки слов, состоящие из символов кириллицы, латиницы и цифр.
ну, тогда регулярки вполне подходят:
Python
1
2
3
4
5
import re
s = '_слово1! < слово2 ?сло(во)3'
s = re.sub(r'[^а-яёА-Яa-zA-Z0-9 ]+','',s)
s = re.sub(r'  +',r' ',s)
print(s)
Цитата Сообщение от jkom-18rus Посмотреть сообщение
Как мне выкручиваться из этой ситуации?
Всё зависит от задачи. Но правилами придется руководствоваться из питона.
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.02.2024, 08:38
jkom-18rus,
Цитата Сообщение от YuS_2 Посмотреть сообщение
[^а-яёА-ЯЁa-zA-Z0-9 ]
Да, здесь таки упустил Ё, поэтому если будете использовать, то не забудьте добавить...
0
 Аватар для jkom-18rus
88 / 33 / 8
Регистрация: 26.02.2016
Сообщений: 326
12.02.2024, 18:15  [ТС]
Всем спасибо за ответы.

У idealist, вариант предпочтительнее, т.к. не надо импортировать модули. Код будет работать в любой онлайн IDE.
Круто, что есть несколько способов.

Вопрос не по теме.
Оказывается по заданию программу надо завернуть в exe файл. Возможно это как-то сделать с консолью в PyCharm?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6221 / 2919 / 1046
Регистрация: 01.06.2021
Сообщений: 10,807
12.02.2024, 18:38
jkom-18rus,
pip install pyinstaller
или
pip install auto-py-to-exe
0
 Аватар для jkom-18rus
88 / 33 / 8
Регистрация: 26.02.2016
Сообщений: 326
14.02.2024, 18:54  [ТС]
Цитата Сообщение от idealist Посмотреть сообщение
Python
s = '_слово1! < слово2 ?сло(во)3'
res = ''.join(e for e in s if e.isalnum() or e.isspace())
res = ' '.join(res.split())
print(res)
Со строкой работает.
С моим случаем не помогло

Python
1
2
3
4
5
6
7
sets_dict = {'A': set([]), 'B': set([]), 'C': set([])}
for i in "ABC":
    sets_dict[i] = set(input(f'Введите элементы множества {i}: '))
#s =  '_слово1! < слово2 ?сло(во)3'
    sets_dict[i] = ''.join(j for j in sets_dict[i] if j.isalnum() or j.isspace())
    sets_dict[i] = ' '.join(sets_dict[i].split())
    print(sets_dict[i])
Миниатюры
Как собрать множество из строки слов, разделённых разными разделителями  
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.02.2024, 19:10
Цитата Сообщение от jkom-18rus Посмотреть сообщение
С моим случаем не помогло
А что за задачу вы здесь пытаетесь решить?
0
 Аватар для jkom-18rus
88 / 33 / 8
Регистрация: 26.02.2016
Сообщений: 326
15.02.2024, 18:06  [ТС]
Здесь просто отрывок я привёл для примера.
Пользователь вводит в программу элементы нескольких множеств. Эти множества у меня оформлены, как словарь - так удобнее обращаться к конкретному множеству, и вводить их элементы через цикл.

Хочу получить множества слов. Слова - это буквы и цифры без посторонних знаков/символов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2024, 18:06
Помогаю со студенческими работами здесь

Сформировать текст из строки с разделителями и отсортировать его по количеству символов меж разделителями
Ввести массив символов разделителей с заданным количеством символов и массив строк текста, содержащий неизвестное заранее количество строк....

Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой. Поменять местами в измененной...

Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой. Поменять местами в измененной...

Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который перв
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым совпал с одним...

Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который перв
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru