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

Поиск букв слова 1 в слове 2

08.09.2023, 21:52. Показов 1127. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как проверить наличие всех букв одного слова в другом слове
Пример:
if все буквы в слове 'пир' присутствуют в слове 'призер', то:
print(1)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.09.2023, 21:52
Ответы с готовыми решениями:

Поиск букв в слове. Напишите программу для проверки, есть ли в данном слове буква «а». Если есть, то найдите номер пе
Напишите программу для проверки, есть ли в данном слове буква «а». Если есть, то найдите номер первой из них.

Задача на поиск слова в слове
Суть задачи: На вход подается два слова или просто два рандомных набора букв. Первое слово переменная sent, второе word. word всегда либо...

Поиск слова, замена букв в зависимости от того есть ли они в слове или нет
Задачка непростая. Итак, вот что надо сделать: программа должна в вводимом тексте искать каждое 5 слово и заменять только одну...

15
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
08.09.2023, 22:26
Python
1
2
3
4
from collections import Counter
c_L = Counter('пир')
c_R = Counter('призер')
print(c_L <= c_R)
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
08.09.2023, 22:32
Лучший ответ Сообщение было отмечено zarter_dud как решение

Решение

zarter_dud,
Python
1
2
3
4
5
6
7
8
word1 = 'пир'
word2 = 'призер'
 
for i in word1:
    if i not in word2:
        break
else:
    print(1)
Добавлено через 3 минуты
zarter_dud, Еще вариант.
Python
1
2
3
4
5
word1 = 'пир'
word2 = 'призер'
 
if set(word1).issubset(word2):
    print(1)
3
1 / 1 / 0
Регистрация: 09.03.2023
Сообщений: 6
08.09.2023, 22:42
Python
1
2
3
4
a = input() #вводится любое слово для которого нужно найти совпадение
if len(set(a) & set(input())) == len(a): print(1)
#с помощью set, получаем множество букв, которые есть в обоих словах
#далее сравниваем
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
08.09.2023, 22:48
anton78spb, осталось уточнить, автор спрашивал в контексте множества или таки мультимножества. Если в последнем, то для слов "пасс" и "пасека" моя программа дает отрицательный ответ, а ваши - положительный.
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
08.09.2023, 23:36
Цитата Сообщение от idealist Посмотреть сообщение
осталось уточнить, автор спрашивал в контексте множества или таки мультимножества. Если в последнем, то для слов "пасс" и "пасека" моя программа дает отрицательный ответ, а ваши - положительный.
Главное что они обе корректно выполняют пример из задания =)
1
Невнимательный
 Аватар для ft4l
3112 / 1290 / 359
Регистрация: 08.02.2013
Сообщений: 7,566
Записей в блоге: 2
09.09.2023, 00:02
почитал /usr/share/doc/python3-doc/html/howto/functional.html
похоже есть ещё какие-то варианты с юникод-последовательностями
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
# -*- coding: utf-8 -*-
import unicodedata
 
def NFD(s):
  return unicodedata.normalize('NFD', s)
 
# single_char = 'ê'
 
def funcname(x, s1, s2):
    if x:
        s1 = NFD(NFD(s1).casefold())
        s2 = NFD(NFD(s2).casefold())
    else:
        s1 = s1.casefold()
        s2 = s2.casefold()
 
    for i in s1:
        if i.casefold() not in s2:
            return False
    return True
 
#    utf-8 ê
print(funcname(0, 'ПИР\N{LATIN CAPITAL LETTER E}', 'прИзêр'))
print(funcname(0, 'ПИР\N{LATIN CAPITAL LETTER E}\N{COMBINING CIRCUMFLEX ACCENT}', 'прИзêр'))
print(funcname(1, 'ПИР\N{LATIN CAPITAL LETTER E}', 'прИзêр'))
print(funcname(1, 'ПИР\N{LATIN CAPITAL LETTER E}\N{COMBINING CIRCUMFLEX ACCENT}', 'прИзêр'))
False
False
True
True

... не пойму почему там пример с такими двойными NFD()
и почему называется normalize а не denormalize
1
1 / 1 / 0
Регистрация: 31.12.2022
Сообщений: 31
10.09.2023, 10:47  [ТС]
idealist, надо чтоб из букв 2ого слова(буквы могут повторяться бесконечно) можно было составить любое другое слово, вот и проверка на буквы, но библиотеки использовать запрещено)
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
10.09.2023, 11:04
Цитата Сообщение от zarter_dud Посмотреть сообщение
буквы могут повторяться бесконечно
Ну, если могут повторяться, то тут множества достаточно, и библиотек не нужно.
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.09.2023, 13:32
Цитата Сообщение от zarter_dud Посмотреть сообщение
надо чтоб из букв 2ого слова(буквы могут повторяться бесконечно) можно было составить любое другое слово
Python
1
2
3
4
5
6
7
8
9
w1 = 'пирр'
w2 = 'призёр'
for s in w1:
    if s in w2:
        w2 = w2.replace(s,'',1)
    else:
        break
else:
    print(1)
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
10.09.2023, 13:56
Цитата Сообщение от anton78spb Посмотреть сообщение
issubset
Ну, для сравнения множеств есть более удобные операции:
Python
1
2
3
a = 'пасс'
b = 'пасека'
print(int(set(a) <= set(b)))
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.09.2023, 14:07
Цитата Сообщение от idealist Посмотреть сообщение
для сравнения множеств
т.е. Ваш код предполагает, что из букв слова 'пасека' можно получить слово 'пасс'? А что, так можно было?!
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
10.09.2023, 14:17
Цитата Сообщение от YuS_2 Посмотреть сообщение
т.е. Ваш код предполагает, что из букв слова 'пасека' можно получить слово 'пасс'? А что, так можно было?!
Ну дак автор раскололся, что он имел в виду множества, а не мультимножества:
Цитата Сообщение от zarter_dud Посмотреть сообщение
надо чтоб из букв 2ого слова(буквы могут повторяться бесконечно) можно было составить любое другое слово
Программу с мультимножествами, где этого нельзя, я привел выше:
Python
1
2
3
4
from collections import Counter
c_L = Counter('пасс')
c_R = Counter('пасека')
print(c_L <= c_R)
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.09.2023, 15:00
Цитата Сообщение от idealist Посмотреть сообщение
он имел в виду множества, а не мультимножества
как-то это сформулировано, совсем неочевидно...
вот если убрать это как бы уточнение в скобках, то:
"надо чтоб из букв 2ого слова можно было составить любое другое слово"
а вот, то самое "уточнение", про повторения букв... я понял так, что второе слово может содержать одинаковые буквы и не более того... угадывать не стал (ибо дзен не велит), просто удалил то, что в скобках, т.к. это обычно не значащая часть.

Цитата Сообщение от idealist Посмотреть сообщение
Программу с мультимножествами, где этого нельзя
но вроде и батарейки тоже... нельзя...
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
10.09.2023, 15:05
Цитата Сообщение от YuS_2 Посмотреть сообщение
но вроде и батарейки тоже... нельзя...
Поясните свою мысль.
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.09.2023, 15:16
Цитата Сообщение от idealist Посмотреть сообщение
Поясните свою мысль.
это не моя мысль

Цитата Сообщение от zarter_dud Посмотреть сообщение
но библиотеки использовать запрещено
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2023, 15:16
Помогаю со студенческими работами здесь

Поиск букв в слове. Напишите программу для проверки, есть ли в слове Х буква «а»
Поиск букв в слове. Напишите программу для проверки, есть ли в слове Х буква «а». если есть, то найдите номер первой из них и сколько раз...

Напечатать те слова последовательности, которые отличны от последнего слова и в слове нет повторяющихся букв
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не...

Длина каждого слова. Количество цифр в слове. Количество гласных прописных букв в слове
Срочно нужна помощь начинающему програмисту!!! Си Ввести текстовую строку с помощью функции gets, слова в строке отделяются пробелами...

Напечатать те слова данной строки, которые отличны от последнего слова, и в слове нет повторяющихся букв
Доброго времени суток! Помогите пожалуйста решить задачу. Дана строка s, содержащая от 2 до 25 слов, в каждом из которых от 1 до 8 ...

Вывести те слова, которые отличаются от последнего слова и удовлетворяют условию, что в слове нет повторяющихся букв
Короче я сделал так #include &lt;stdio.h&gt; #include &lt;ctype.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; void main() { int const...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через 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
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru