Складання ребуса
Самостійно, або за вказаним алгоритмом, який знаходиться в дужках скласти ребуси із тих слів, які ми вивчали.
*МИШКА – спеціальний пристрій, який використовується для керування курсором.
[ МИЛО (ЛО), ШИШКА (ШИ) ]
*КУРСОР – вказівник для виділення певної позиції екрана, позначка, що може переміщатися екраном. Переміщення екраном здійснюється за до клавіш керування або пересування по столу маніпулятора миші.
*[ КУРИ (И), СИР (И=О) ]
*ПАПКА – каталог файлів. Найменоване місце на диску для збереження файлів та даних про них. Ім’я папки може мати до 255 символів.
[ ШАПКА (Ш=П) ] або [ ЛАПКА (Л=П) ]
*РОБОЧИЙ СТІЛ – це зображення, яке виникає на екрані монітора тоді, коли комп’ютер готовий до роботи. Робочий стіл займає весь екран, крім панелі завдань.
[ РОБОТ ЧАЙНИК (А=И) ЧИСТОТІЛ ].
*КОШИК – ділянка пам’яті, призначена для зберігання непотрібних даних..
[ КОТИК (Т=Ш) ].
* ЛОГІЧНА МОДЕЛЬ — модель, у якій аналізуються різні умови.
[ ЛОСЬ ГІЛКА (Л=Ч, К=Н), МІ (І=О), ДО (О=Е), ЛЯ (Я=Ь) ].
* ЛОКАЛЬНА МЕРЕЖА – об’єднання комп’ютерів, розташованих на невеликій відстані один від одного
[ ЛОЗА (З=К), ЛАНЬ (А Ь), МЕРЕЖИВО, А ].
* ПІКСЕЛЬ — елементарний об’єкт малюнка, точка екрану, що світиться.
[ МІКСЕР (М=П, Р=Л), Ь ].
* ПРОГРАМА – алгоритм , представлений мовою, зрозумілою комп’ютеру.
[ ПЕРО (Е), ГРАТИ (Т=М, И=А) ].
*ПРОГРАМА – впорядкована послідовність команд (інструкцій), необхідних комп’ютеру для розв’язання поставленої задачі.
[ ПІРОГА (І, А), РАМА ].
ответ:Для начала в 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()
}
Если создать шаблон строки с автозаполнением, то можно немного у код:
import sys
num_steps = int(sys.argv[1])
fmt_template = '{}.{:>%d}' % num_steps
for x in range(1, num_steps + 1):
print(fmt_template.format(x, '#' * x))
При num_steps = 4:
1. #
2. ##
3. ###
4.
Объяснение:
Все аргументы функции print, указанные через запятую, выводятся разделенные пробелом, отсюда и нестыковка.
Можно так попробовать:
for x in range(1, c+1):
print('{0}{1}{2}'.format(x, " " * (c - x), '#' * x))
Для c = 3:
1 #
2 ##
3###
Либо заменить запятую конкатенацией (знак +):
print(str(x) + " " * (c - x) + '#' * x)