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

Найти слова, которые встречаются одновременно и в повествовательных, и в вопросительных предложениях

22.09.2019, 21:28. Показов 15531. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текст, состоящий из предложений, разделённых знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов, отделённых друг от друга пробелами. Требуется найти слова (без учёта регистра), которые встречаются одновременно и в повествовательных, и в вопросительных предложениях, но не встречаются в восклицательных.

Формат ввода
Текст записан на нескольких строках.

Формат вывода
Строка из слов, которые требуется найти по условию, записанных в нижнем регистре. Слова перечисляются в лексикографическом порядке и разделяются пробелами.

Пример:
Ввод:
Раз два три. Раз
и три? Два! Два и три?
Раз! И четыре.
Вывод:
и три
Заранее - спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2019, 21:28
Ответы с готовыми решениями:

Найти слова, встречающиеся одновременно и в повествовательных, и в вопросительных, но не в восклицательных предложениях
Дан текст, состоящий из предложений, разделённых знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов, отделённых...

Найти слова которые встречаются одновременно и в повествовательных и в восклицательных предложениях
Используя контейнеры и алгоритмы стандартной библиотеки шаблонов, решить следующие задачи (использовать только алгоритмы стандартной...

Найти слова которые встречаются одновременно и в вопросительных и в восклицательных предложениях
Дан текст, состоящий из предложений, разделенных знаками препинания из на бора «.?!». Предложения в свою очередь состоят из слов,...

6
22.09.2019, 21:44

Не по теме:

Valerka_Antonov, эх Валерка, хоть бы попробовал...

0
 Аватар для __ALPHA__
302 / 160 / 87
Регистрация: 16.04.2018
Сообщений: 239
22.09.2019, 23:48
Ввод пустой строки прерывает ввод.
Вывод слов в случайном порядке.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
slova1 = '' # слова повествовательных предложений
slova2 = '' # слова вопросительных предложений
slova3 = '' # слова восклицательных предложений
 
# Ввод текста
text = []
while True:
    s = input()
    if s == '': break
    text.append(s)
 
text = ' '.join(text)
 
# Извлечение слов из текста
p = '' # предложение
index1 = 0 # начало очередного слова
index2 = 0 # очередной индекс
while index2 < len(text):
    char = text[index2]
    if char == '.':
        slovo = text[index1:index2].lower()
        slova1 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    elif char == '?':
        slovo = text[index1:index2].lower()
        slova2 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    elif char == '!':
        slovo = text[index1:index2].lower()
        slova3 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    else:
        if char == ' ':
            slovo = text[index1:index2].lower()
            index1 = index2 + 1
 
            p += slovo + ' '
 
    index2 += 1
 
# Преобразование слов в множество
slova1 = set(slova1.split())
slova2 = set(slova2.split())
slova3 = set(slova3.split())
 
# Пересечение slova1 и slova2 результат в slova1
slova1.intersection_update(slova2)
 
# Вычитание slova1 и slova3 результат в slova1
slova1.difference_update(slova3)
 
print(slova1)
Добавлено через 6 минут
while можно переделать под for.
2
11 / 10 / 1
Регистрация: 02.03.2019
Сообщений: 16
16.10.2019, 21:20
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
import sys
 
s1 = ''
s2 = ''
s3 = ''
text = list(sys.stdin)
text = ' '.join(text)
p = ''
in1 = 0
in2 = 0
while in2 < len(text):
    char = text[in2]
    if char == '.':
        s = text[in1:in2].lower()
        s1 += p + s + ' '
        p = ''
        in1 = in2 + 1
    elif char == '?':
        s = text[in1:in2].lower()
        s2 += p + s + ' '
        p = ''
        in1 = in2 + 1
    elif char == '!':
        s = text[in1:in2].lower()
        s3 += p + s + ' '
        p = ''
        in1 = in2 + 1
    else:
        if char == ' ':
            s = text[in1:in2].lower()
            in1 = in2 + 1
            p += s + ' '
    in2 += 1
s1, s2, s3 = set(s1.split()), set(s2.split()), set(s3.split())
s1.intersection_update(s2)
s1.difference_update(s3)
print(*s1)
выдает ошибку
Ура, мы оказались в лесу!
А вы были в лесу перед самым дождем?
В лесу перед самым дождем была тишина и напряжение в ожидании первых капель.

должен вывести

дождем перед самым

а выводит

дождем самым перед

как можно исправить?
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
17.10.2019, 23:03
Извините за говно код!
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
slovaOne = input("Первая строка:\n")
slovaTwo = input("Вторая строка:\n")
slovaAll = []
povtoreniye = []
def RZP(text):
    text = replace(text, ", ", " ")
    text = replace(text, ". ", " ")
    text = replace(text, "? ", " ")
    text = replace(text, "! ", " ")
    text = replace(text, ",", " ")
    text = replace(text, ".", " ")
    text = replace(text, "?", " ")
    text = replace(text, "!", " ")
    return text
def replace(text, at, to):
    text = text.split(at)
    txt = text[0]
    for i in text[1:]:
        txt = txt + to + i
    return txt
slovaTwo = RZP(slovaTwo)
slovaOne = RZP(slovaOne)
slovaTwo = slovaTwo.lower()
slovaOne = slovaOne.lower()
for k in slovaTwo.split(" "):
    slovaAll.append(k)
for k in slovaOne.split(" "):
    slovaAll.append(k)
for i in range(len(slovaAll)):
    for q in range(len(slovaAll)):
        if q==i:
            pass
        else:
            if slovaAll[i]==slovaAll[q]:
                povtoreniye.append(slovaAll[q])
print(povtoreniye)
0
 Аватар для __ALPHA__
302 / 160 / 87
Регистрация: 16.04.2018
Сообщений: 239
19.10.2019, 22:54
Цитата Сообщение от Rouzi Посмотреть сообщение
Ура, мы оказались в лесу!
Что бы запятые корректно обрабатывались, надо добавить перед p = ''
Python
1
text = text.replace(',', ' ').replace('  ', ' ')
Цитата Сообщение от Rouzi Посмотреть сообщение
должен вывести
дождем перед самым
Тут видимо слова отсортированы по имени, для этого надо добавить предпоследней строкой
Python
1
slova1 = sorted(slova1)
0
3 / 3 / 0
Регистрация: 20.10.2020
Сообщений: 25
12.09.2021, 23:02
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
38
39
40
from sys import stdin
index1, index2 = 0, 0
slova1, slova2, slova3, p = '', '', '', ''
 
text = list(map(str.strip, stdin))
text = ' '.join(text)
text = text.replace(',', ' ').replace('  ', ' ')
 
while index2 < len(text):
    char = text[index2]
    if char == '.':
        slovo = text[index1:index2].lower()
        slova1 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    elif char == '?':
        slovo = text[index1:index2].lower()
        slova2 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    elif char == '!':
        slovo = text[index1:index2].lower()
        slova3 += p + slovo + ' '
        p = ''
        index1 = index2 + 1
    else:
        if char == ' ':
            slovo = text[index1:index2].lower()
            index1 = index2 + 1
            p += slovo + ' '
    index2 += 1
    
slova1 = set(slova1.split())
slova2 = set(slova2.split())
slova3 = set(slova3.split())
slova1.intersection_update(slova2)
slova1.difference_update(slova3)
slova1 = sorted(slova1)
 
print(*slova1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2021, 23:02
Помогаю со студенческими работами здесь

Найти слова, которые встречаются одновременно и в вопросительных и в восклицательных предложениях
Дан текст, состоящий из предложений, разделённых знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов, отделённых...

Найти слова, встречающиеся и в вопросительных, и в восклицательных предложениях, но не в повествовательных
Условие: дан текст, состоящий из предложений, разделённых знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов,...

Используя set найти слова встречающиеся одновременно в вопросительных и восклицательных предложениях
Дан текст, состоящий из предложений, разделённых знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов, отделённых...

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

Найти слова, встречающиеся и в повествовательных, и в восклицательных предложениях
Дан текст, состоящий из предложений, разделенных знаками препинания из набора «.?!». Предложения в свою очередь состоят из слов, отделенных...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru