|
0 / 0 / 0
Регистрация: 03.02.2017
Сообщений: 58
|
|
Файл: Реализовать алгоритм работы чат-бота...01.07.2017, 21:02. Показов 1902. Ответов 3
Метки нет (Все метки)
Всем привет! Задача такова:
- Пользователя просят написать слово, например "Привет" - программа ищет в текстовом файле с кучей текста строки, которые начинаются с этого слова - если программа нашла несколько, выводит рандомно одну из строк со всем содержимым пользователю, начиная с символа, следующего за этим словом. Вот ![]() Конкретно я застопорился на моменте выбора рандомной строки из нескольких. Я не знаю как заставить программу запомнить все подходящие строки из текстового файла, а их может быть произвольное количество, и выбрать из них потом одну. Алгоритм я продумал такой: Прога просит пользователя ввести слово --> введенное слово перегоняется в переменную string --> программа начинает считывать строку за строкой, парся слово из переменной string --> собирает для себя коллекцию всех найденных подходящих строк --> выбирает рандомайзером одну из них для вывода пользователю. Выделенные жирным шрифтом шаги я не дотумкал, как реализовать. Как вообще реализуются такие вещи? Может у строк есть свои числовые индексы? Как их тогда вычленить? Я понимаю если бы было строго определенное количество строк с совпадениями, например 2. Тогда легко кажется загоняешь обе строки в заранее заготовленные две переменные типа string, но тут ведь не предусмотреть их количество. Объясните, кто может, что для таких целей предусмотрено (еще не весь язык знаю)p.s. Практикуюсь создавая бота, который будет давать рандомные ответы (из предусмотренных) в ответ на ключевое слово пользователя. Пользователь пишет слово-Тэг, а по тэгу бот ищет все подходящие строки. Но не суть в общем, если кому интересно просто поясняю. Буду рад любым дельным советам ![]() Добавлено через 11 минут Добавлю важный момент по ключевым словам: При парсинге слова в строках может возникнуть у бота путаница, например строка: "Привет: Привет-привет!" Здесь "Привет:" - это Тэг (ну я так придумал, хы ), а "Привет-привет" - уже сам вариант ответа. Но в другой строке по тэгу "Пока:" может далее тоже содержаться слово "привет" и чтобы бот не запутался, он ищет именно "Привет:" с двоеточием.
0
|
|
| 01.07.2017, 21:02 | |
|
Ответы с готовыми решениями:
3
Алгоритм работы чат-бота Обучение чат бота создание чат-бота |
|
|
|
| 01.07.2017, 21:04 | |
|
Если бы строки хранились в массиве, а не файле, можно было бы запоминать их индексы.
А с файлом проще запоминать сами строки в List<string>.Хотя если совпадения в каждой строке, а файл на гигабайты, будет проблема. Вы чтоль решили утилиту grep воспроизвести?
1
|
|
|
0 / 0 / 0
Регистрация: 03.02.2017
Сообщений: 58
|
||||
| 01.07.2017, 21:24 [ТС] | ||||
Но строк реально может быть дофига.![]() p.s. пошел гуглить про List<string>
0
|
||||
|
|
|||
| 01.07.2017, 21:28 | |||
|
Вывести все опции команды grep, описанные в man Как убрать лишнее из вывода grep? https://ru.wikipedia.org/wiki/Grep Что такое grep и с чем его едят Добавлено через 1 минуту MSDN: List<T> https://msdn.microsoft.com/ru-... .110).aspxИ пример, и перечень методов. Рекомендую ознакомиться со всеми.
0
|
|||
| 01.07.2017, 21:28 | |
|
Помогаю со студенческими работами здесь
4
похож на чат бота Создание чат-бота Создание чат бота Написать чат бота Клавиатура чат-бота vk api Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
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.
В качестве источника данных. . .
|