В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
DianaAudley
DianaAudley
08.03.2020 17:56 •  Информатика

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

чем больше будет тем, на которые сможет говорить бот, чем качественнее будут его ответы и анализ реплик пользователя — тем лучше.

обязательно на питоне

Показать ответ
Ответ:
AidarSharafutdinov
AidarSharafutdinov
07.01.2021 23:43
Дешифровка: ВХОД_ОТКР Ы Т.

дешифровки:
Const sh = '_.,';
Var
  St : String;
  i  : Integer;
Function DeCode(S : String; Tabl : String; k : Integer) : String;
Var j,n : Integer;
Begin
  For j:=1 to Length(S) do
  Begin
    n:=Pos(S[j],sh);
    If n>0 then
    Begin
      n:=n+k;
      While n>Length(sh) do n:=n-Length(sh);
      While n<=0 do n:=n+Length(sh);
      S[j]:=sh[n];
    end
  end;
  DeCode:=S;
end;
Begin
  St:='ЗЫФЙГФШРЦ . ШД';
  Writeln(Decode(St,sh,-6));
  //For i:=-10 to 10 do Writeln(Decode(St,sh,i));
end.
0,0(0 оценок)
Ответ:
vlab2018
vlab2018
20.01.2023 14:45

ответ:Для начала в onCreate() уберите эту строку:

chatContainer.clear()

Нет смысла чистить только созданный пустой список. Дальше я бы вам советовал следующим образом. Для начала при объявлении адаптера не нужно сразу ему передавать список:

lateinit var adapter: RecyclerChatAdapter

Дальше как только ваш список заполнен вы это проверяете в цикле и инициализируете адаптер:

when {

   documentSnapshot != null -> {

       for (dc in documentSnapshot.documentChanges) {

           when (dc.type) {

               DocumentChange.Type.ADDED -> {

                   val chat = dc.document.toObject(Chat::class.java)

                   chatContainer.add(chat) // Добавление данных в Recycler

                   if(chatContainer.size == documentSnapshot.documentChanges)

                   {

                       adapter = RecyclerChatAdapter(chatContainer)

                   }

               }

           }

       }

   }

}

и дальше сеттинг адаптера как и было у вас в вашем примере. Так же второй вариант как решить вашу проблему, но не уверен что получится, можно в цикле там где вы выводите сообщение в лог обновлять адаптер:

for (i in chatContainer) {

   adapter.notifyDataSetChanged()

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота