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

Количество слов, содержащих более одной буквы

22.06.2020, 20:23. Показов 5879. Ответов 16

Студворк — интернет-сервис помощи студентам
Напишите программу, которая считает только те слова, которые содержат более одной буквы из набора normal в любом регистре. Повторные вхождения буквы в слово не считать.

Формат ввода: в единственной строке записаны слова, разделенные символом ~
Формат вывода: одно число — количество слов, содержащих более одной буквы из набора normal (регистр не имеет значения). Если одни и те же буквы встречаются в слове несколько раз, повторные вхождения не считать.

Пример 1

Ввод
Yandex~lyceum~is~awesome
Вывод
3

Пример 2

Ввод
Say~yes~to~python
Вывод
1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2020, 20:23
Ответы с готовыми решениями:

Определить количество слов, содержащих и буквы, и цифры, и арифметические знаки
Определить количество слов, содержащих и буквы, и цифры, и арифметические знаки. Напечатать их. Напечатать все симметричные слова,...

Найти количество слов содержащих только символы латинского алфавита, а среди них количество слов с гл. и согл
Найти количество слов содержащих только символы латинского алфавита, а среди них количество слов с равным количеством гласных и согласных...

Посчитайте количество слов содержащих 3 буквы в этой строке
Напишите программу в заголовке и да длина текстовой строки не должа превышать 1000 символов

16
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 64
06.07.2020, 18:32
Python
1
2
3
4
5
6
7
string = str(input())
array = string.split("~")
count = 0
for i in array:
    if len(i) > 1:
        count += 1
print(count)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.07.2020, 18:59
Цитата Сообщение от dx3n Посмотреть сообщение
str(input())
Зачем str???
input() и так строку возвращает
0
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 64
06.07.2020, 19:00
iSmokeJC, а почему бы и нет?) так культурнее получается
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.07.2020, 19:05
Культурнее приводить тип к самому себе? Не думаю.
Впрочем, хозяин-барин...
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
07.07.2020, 08:10
dx3n, Разве так лучше?
Python
1
2
3
4
5
int(1)
str("Hello, world!")
dict({"key__1": "value__1", "key__2": "value__2"})
list([1, 2, 3])
set({1, 2, 3})
0
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 64
07.07.2020, 14:04
DmFat, не ну истинного питониста сразу видно по манере его общения и использований встроенных функций и библиотек. Я бы не советовал использовать re (ну иногда можно) просто потому что если человек только изучает язык, то ему стоит самому пробовать реализовать функции, а не использовать готовые решения. А ваши примеры не уместны, хотя бы вот этот:
Python
1
list([1, 2, 3])
Т.к. это не будет одномерным списком, а уже двумерным. И чем вам не нравится
Python
1
str(input())
Так тоже можно писать
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
08.07.2020, 20:52
Python
1
2
3
4
5
6
typesetting = set('normal')
count = 0
for word in input().split('~'):
    if len(set(word.lower()) & typesetting) > 1:
        count += 1
print(count)
0
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 64
09.07.2020, 00:16
Semen-Semenich, чет как-то сложновато)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.07.2020, 06:41
Цитата Сообщение от DmFat Посмотреть сообщение
dict({"key__1": "value__1", "key__2": "value__2"})
Python
1
2
>>> dict(key1='value1', key2='value2')
{'key1': 'value1', 'key2': 'value2'}
Цитата Сообщение от dx3n Посмотреть сообщение
Т.к. это не будет одномерным списком, а уже двумерным.
Эм, нет. list принимает итератор в качестве аргумента:
Python
1
2
>>> list([1, 2, 3])
[1, 2, 3]
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
09.07.2020, 08:05
Рыжий Лис, я знаю как это работает, просто мне кажется это излишне, такая же вредная привычка с которой я сюда пришел:

Python
1
2
3
4
class Example:
    def __init__(self, *args, **kwargs) -> None:
        ...
        return None
Но, здешние старики[они поймут], избавили меня от этого.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.07.2020, 09:50
В принципе, согласен. Код должен выглядеть просто и быть типичным.

Типичнее написать s = input(), чем s = str(input()). В обоих случаях переменная s будет иметь тип строки.

Того же мнения я об аннотациях: они захламляют код. Если IDE не может вывести тип переменной/функции/метода сама, то тогда можно ей подсказать с помощью аннотаций. Или с помощью аннотаций указать для человека какие типы аргументов ожидает функция и что она возвращает.

Этим мне нравится раст: если компилятор не смог вывести тип переменной - то код не скомпилируется. В питоне же IDE просто поставит тип Any.

return None тоже излишне - все функции неявно возвращают None, если неуказано иного. Даже наоборот, если встречаешь в коде return None - значит программист хотел обратить на это внимание, либо подавлял предупреждение IDE.

И по производительности конструкция dict({"key__1": "value__1", "key__2": "value__2"}) должна быть медленнее, чем просто {}. Но это уже микрооптимизации.
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
09.07.2020, 12:34
dx3n, так по условию нужно найти не слова с более чем одной буквой ( в примерах нет таких)
Python
1
2
3
4
5
6
7
string = str(input())
array = string.split("~")
count = 0
for i in array:
    if len(i) > 1:
        count += 1
print(count)
Python
1
2
3
Say~yes~to~python
4
>>>
а слова содержащие более одной буквы из набора normal
Python
1
2
3
4
5
6
typesetting = set('normal')
count = 0
for word in input().split('~'):
    if len(set(word.lower()) & typesetting) > 1:
        count += 1
print(count)
Python
1
2
3
4
===
Say~yes~to~python
1
>>>
разницу видите?. сложного ничего нет если понимать что и для чего делается
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.07.2020, 13:06
Semen-Semenich, только ваш пример тоже не работает:
Code
1
2
foox~fox~pony
1
0
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
09.07.2020, 14:28
Python
1
print(sum(len(frozenset(i) & frozenset("normal")) > 1 for i in input().split("~")))
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
09.07.2020, 17:59
Рыжий Лис,
Цитата Сообщение от TaccolaZ Посмотреть сообщение
Если одни и те же буквы встречаются в слове несколько раз, повторные вхождения не считать
отсюда следует что только pony содержит более одной буквы из набора normal это o,n
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.07.2020, 18:10
Ну тогда ок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2020, 18:10
Помогаю со студенческими работами здесь

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

Найдите количество слов, не содержащих ни одной большой латинской буквы
Дан массив строк. Найдите количество слов, не содержащих ни одной большой латинской буквы. Под словом понимаем последовательность...

Количество слов, содержащих более 3-х символов
Дан текст 35 символов. Определить количество слов, содержащих более 3-х символов. Слова разделяются одним пробелом

Имеем строку, состоящую из слов, разделенных пробелами. Определить количество слов, содержащих ровно три буквы
Имеем строку, состоящую из слов, разделенных пробелами. Определить количество слов, содержащих ровно три буквы 'b'

Определить количество слов, содержащих более 3-х символов
Дан текст 35 символов. Определить количество слов, содержа¬щих более 3-х символов. Слова разделяются одним пробелом. помогите,...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru