Тест
Данные | Результат |
Имя = «Тимур» | «Привет, Тимур!» |
Школьный АЯ
алг Знакомство (арг лит Имя, резлит t)
нач
вывод «Как тебя зовут ?»
ввод Имя
t := «Привет, » + Имя + «!» | «+» — операция сцепки
вывод t
кон
Turbo Pascal
Program Hello;
Var Name: String; {Описание переменной Name строкового типа}
BEGIN
Write(‘Как тебя зовут ? ‘); {Вывод на экран текста вопроса}
ReadLn(Name); {Ввод c клавиатуры имени}
WriteLn(‘Привет, ‘, Name, ‘!’); {Вывод на экран приветствия}
ReadLn
END.
Здесь последний оператор ReadLn позволяет видеть на экране результаты
работы программы, пока не будет нажата клавиша <Enter>.
Результаты работы Pascal-программы
Как тебя зовут ? Тимур <Enter>
Привет, Тимур !
QBasic
CLS
INPUT «Как тебя зовут ? «, Name$
PRINT «Привет, «; Name$; «!»
END
Новости
Программы
Turbo Pascal
Игры
Документация
Странности
FAQ
Ссылки
Форум
Гостевая
книга
Рассылка
Благодарности
Об авторе
Пример 1.1.
Простейший алгоритм, запрашивающий имя и
затем приветствующий его обладателя.
Тест
Данные | Результат |
Имя = «Тимур» | «Привет, Тимур!» |
Демонстрация
Школьный АЯ
алг Знакомство (арг лит Имя, рез лит t) нач вывод "Как тебя зовут ?" ввод Имя t := "Привет, " + Имя + "!" | "+" - операция сцепки вывод t кон
Turbo Pascal
Program Hello; Var Name: String; {Описание переменной Name строкового типа} BEGIN Write('Как тебя зовут ? '); {Вывод на экран текста вопроса} ReadLn(Name); {Ввод c клавиатуры имени} WriteLn('Привет, ', Name, '!'); {Вывод на экран приветствия} ReadLn END.
Здесь последний оператор ReadLn позволяет
видеть на экране результаты работы
программы, пока не будет нажата клавиша <Enter>.
Результаты
работы Pascal-программы
<Enter>
Привет, Тимур !
Размещено 3 года назад по предмету
Информатика
от айдонтнидтохелп
Составьте программу, которая будет сначала спрашивать ваше имя, а
когда вы его введёте, с восклицанием приветствовать вас. Последовательность следующая:
Программа: Как тебя зовут?
Вы: Коля
Программа: Привет, Коля!
Обратите внимание на то, чтобы при выводе приветствия были правильно расставлены пробелы (после запятой — перед именем — есть, а перед восклицательным знаком нет). Каждая реплика должна выводиться/вводиться с новой строки.
-
Ответ на вопрос
Ответ на вопрос дан
SaidRОтвет:
print («Как Вас зовут?»)
x= input ()
print («Приветствую вас,»+x+»!»)
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
1 |
|
Алгоритм работы чат-бота14.02.2010, 22:11. Показов 32061. Ответов 53
Задумал создать чат бота. тоесть поддержка синонимов не более. но все ранво получается что юзер спршивает — бот отвечате и все… кактотак)
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
14.02.2010, 22:29 |
2 |
Эпичная тема, честное слово. Ничего типа искуственного интелекта у вас не получится конечно, но более менее сносного болтуна можно создать… По теме:
1 |
3188 / 869 / 39 Регистрация: 29.12.2008 Сообщений: 952 |
|
14.02.2010, 22:34 |
3 |
Krist_ALL, посмотри, вот тут я отвечал уже, несколько ссылок полезных нашел. Если цель написать простенького бота, то очень неплохие там алгоритмы приводятся, а, главное, простые для понимания и реализации. Начать с них, а дальше усложнять по возможности.
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
14.02.2010, 22:51 [ТС] |
4 |
Phantom, я уже читал этот ман) Все равно спасибо!. по поводу поддержки темы…. + можно еще у юзера спрашивать инфу об нем и помнить . а во время разговора вставлять данные его. напримр узнаем снаачала имя а потом обращаемся по имени и иногда чтоб было человекоподобнее.
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
14.02.2010, 23:09 |
5 |
ну а в чем проблема? юзер скорее напишет свое имя с Большой буквы, вот его и запишем, к томуже можно подключить словарь имен и пробежаться по совподениям. ps. Идей много можно напридумывать, каждая по своему сложна, код распухнет и будет давать сбои. Тут надо базу основательно продумать а то тяжело будет потом новые «фишки» внедрять
1 |
Krist_ALL 10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
||||||||||||||||||||||||||||
15.02.2010, 12:32 [ТС] |
6 |
|||||||||||||||||||||||||||
Вообщем я думаю сделать так: Человек:привет бот!
Бот:Приветствую!
БОт:как тя зовут?
Человек:кристалл
Как вам такой алгоритм? + незнаю как сделать чтоб когда бот например говорит привет и сразу мог спрасить. напирмер привет. как у тя дела?
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
15.02.2010, 15:00 |
7 |
Так если вопрос идет о PHP тут и нельзя сделать чтобы бот сам реагировал, т.к. само PHP же не может реагировать оно только формирует страницу. Хотя можно с Ajax’ом поработать. С другой стороны вы можете отправлять фразу бота после ответа бота. Забейте базу разных вопросов бота и они имею разный приоритет, допустим приоритет «как тебя зовут?» высокий, т.к. это важная часть беседы, а чтобы бот спросил «какая у тебя машина?» это надо чтобы так выпало (скажем шанс 10%). Опять надо хранить «таблцу пользователя» в которой хранятся кому что бот отвечал (чтобы не задавал повторные вопросы и не отвечал повторно). Так же стоит ввести с десяток фраз которые могут как бы невзначай перевести разговор например «да ладно фиг с ним, давай лучше о погоде?» такие фразы будут использоваться когда бот не знает что сказать. И конечно они тоже не должны повторно вызываться.
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 15:32 [ТС] |
8 |
Еще несколько вопросов.. Как обучать бота? и еще такой момент. юзер вводит: и еще тоесть вторая фраза не втему совсем.
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
18.02.2010, 15:42 |
9 |
Как обучать бота? Нужно запоминать фразу а слова из неё (как я писал выше — список слов — и есть фраза) и причем эти слова укорачивать: «ты тупой и глупый бот» -> «ты», «туп*», «и», «глуп*», «бот». В результате реакция будет и на «ты тупое и глупое существо». Ну а в обучении… да, фразу юзера надо будет полностью записывать, а вот то что сказал бот урокачивать по таком принципу как я выше описал. Чтобы не сложилась ситуация когда бот начинат человеку говорить «бот» можно заменять это слово в ответах на «человек» допустим как отличать самые важные слова во фразе? «windows — хорошая вещь» — создает связь между «windows» и «хорош*», т.е. мы связываемся по прилагательному
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 16:13 [ТС] |
10 |
«windows — хорошая вещь» — создает связь между «windows» и «хорош*», т.е. мы связываемся по прилагательному и как же отичать прилагательные?ты так говоришь а как я это накодю — этж нереально отличать слова по части речи.а словарь грузить ппц ты тупой и глупый бот» -> «ты», «туп*», «и», «глуп*», «бот». а как узнат у какого слова укарачивать а у какова нет? так?
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
18.02.2010, 16:28 |
11 |
и как же отичать прилагательные?ты так говоришь а как я это накодю — этж нереально отличать слова по части речи.а словарь грузить ппц Может по окончаниям? «хороший«, «хорошая«, «хорошее«, «красивый«, «красивое«, «красивее«. Несомненно работа с языком задача сложная, однако все поисковые системы укорчивают слова для поиска таким образом и ищут по основам слов (по крайне мере это так выглядит). Короче мб нужно срезать какие то заданные буквы в конце слова, «ий», «ая», «ее», «ый», «ое», «ее» и т.д.
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 16:53 [ТС] |
12 |
А если вот так: + мона педлоги нах вырезать например у в на и какая база должна быть? такая?
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
18.02.2010, 16:59 |
13 |
тут отрезанием окончаний необойжешься..( а зачем они тут? все что вы привели попадает под набор { «как», «дела» } просто процен для первой фразы равен 66% а для второй меньше — 50%, составляется список возможных ответов (допустим все фразы — триггеры >= 50% совпадений) и выбирается рандомом
и какая база должна быть? { «как», «дела» } = { «нормально», «да поживаю потихоньку», «а тебе какое дело?» }
+ мона педлоги нах вырезать например у в на Пожалуй да
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 17:06 [ТС] |
14 |
а когда тогда окончания отрезать? мона искать по целой фразе — если false то по все слова -1
0 |
insideone 3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
||||
18.02.2010, 17:16 |
15 |
|||
в PHP есть такая фишка
на выходе получаем массив слов — триггер Как дальше с БД я что то щас не могу придумать, т.к давно этим не занимался ps. PHP тоже давно не трогал, за кривокод не ругать
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 18:56 [ТС] |
16 |
а если юзер ввел типа хочется прост овсе продумать заранее чтобы потом не переделывать большой оьъем работы .
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
18.02.2010, 19:04 |
17 |
а бо тне знает о своей любимой книге ничего. {«как*», «твоя», «любим*»} = { «у меня нет любимой %cut%» } гм… только что делать с окончанием книги, нужно как то заменить «книга» на «книги»
1 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
18.02.2010, 19:50 [ТС] |
18 |
а сам бот будет спрашивать только если в ответной реплике будет вопрос.
0 |
3685 / 962 / 114 Регистрация: 10.01.2010 Сообщений: 2,550 |
|
18.02.2010, 20:52 |
19 |
Не совсем понял…
0 |
10 / 10 / 2 Регистрация: 01.02.2010 Сообщений: 317 |
|
20.02.2010, 20:45 [ТС] |
20 |
Начал приступать к кодингу.
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
20.02.2010, 20:45 |
20 |
Как ввести имя в Python — учимся вводить данные по запросу
Попрактикуемся в решении простых но интересных задач:
- Узнаем, как ввести имя в Python;
- Научимся выводить полученное имя на экран;
Как ввести имя в Python
1. Выведем запрос на получение имени
Чтобы пользователь не пребывал в растерянности при виде пустой строки, давайте попросим его ввести имя. Для этого вызовем функцию print(), которой передадим в качестве аргумента нашу просьбу:
print("Привет! Давай знакомиться! Как тебя зовут?")
Python послушно вывел нашу просьбу на экран:
Привет! Давай знакомиться! Как тебя зовут?
2. Реализуем ввод имени
Теперь нам нужно разрешить пользователю вводить данные в программе. Поэтому предлагаю воспользоваться функцией input(). При вызове функции input(), программный поток останавливается до того момента, пока пользователь не введет данные через клавиатуру. Это то, что нам нужно! А чтобы была возможность использовать в дальнейшем полученные от пользователя данные, сразу же после получении имени, сохраним его в какой-нибудь переменной, например, в переменной user_name:
print("Привет! Давай знакомиться! Как тебя зовут?") user_name = input()
В среде разработки Anaconda результат работы этих двух строк выглядит так:
В вашей среде разработки окно для ввода информации может выглядеть иначе. Например, при работе в консоли, ожидание пользовательского ввода помечено мигающим прямоугольником. Однако, вид строки ввода не так важен, важно то, что программа перешла в режим ожидания ответа от пользователя!
Таким образом, мы справились с заданием и сохранили введенные пользователем данные в переменной user_name. Давайте теперь выведем имя пользователя на экран в контексте диалога:
print("Привет! Давай знакомиться! Как тебя зовут?") user_name = input() print("Приятно познакомиться, " + user_name + "!")
Результат работы кода
Теперь при вводе имени «Великий Программист», на экран выводится строка:
Приятно познакомиться, Великий Программист!
Однако, в этом коде есть маленькая недоработка
Давайте проверим, что произойдет, если не вводить ничего, или же — ввести пробел вместо имени, и нажать «Enter»? В таком случае на экране появится некорректное приветствие:
Приятно познакомиться, !
Как это исправить?
Нам нужно добавить проверку на число введенных пользователем символов, предварительно удалив крайние пробелы. То есть нам нужно добавить условие:
Пока длина имени без пробелов будет меньше единицы: запрашиваем у пользователя осуществить ввод имени.
Для этого мы воспользуемся циклом while (который означает «пока..» ), и конструкцией len(user_name.split()), которая возвращает длину строки без пробелов. Подробнее о работе функций split() и len() я расскажу чуть ниже, под кодом. А сейчас переведем сформулированное выше условие на язык Python:
user_name='' # Пока длина имени без пробелов будет меньше единицы: while len(user_name.strip())<1: print("Привет! Давай знакомиться! Как тебя зовут?") user_name = input() print("Приятно познакомиться, " + user_name + "!")
Обратите внимание, что перед циклом while появилось объявление переменной user_name. Так как в цикле нам нужно посчитать длину строки user_name еще до того, как пользователь осуществит ввод, то создадим пустую строку user_name до вызова цикла. Так как длина этой строки равна нулю, то функция print() выведет на экран предложение познакомиться, и у пользователя появится шанс изменить длину user_name.
У нас появился Telegram-канал для изучающих Python! Подписывайтесь по ссылке: «Кодим на Python! Вместе «питонить» веселее! 😉
Подробнее о функциях split() и len():
Функция split() — удаляет пробелы в начале и в конце строки. Вызов функции split() для строки user_name осуществляется следующим образом:
user_name.split()
Функция len() является специалистом по измерению длин в мире Python. Если мы передадим функции len() в качестве аргумента строку, оставшуюся после удаления пробелов, то узнаем длину этой строки:
# длина строки user_name len(user_name.split())
Итоговый код: запрашиваем у пользователя имя и выводим его на экран:
user_name='' while len(user_name.strip())<1: print("Привет! Давай знакомиться! Как тебя зовут?") user_name = input() print("Приятно познакомиться, " + user_name + "!")