Далее М только увеличивается (M=M+5), следовательно условие будет истинно постоянно и тело цикла выполнится бесконечное множество раз
2.
Для i от 5 до 1 выполнить
Для j от 7 до 10 выполнить
вывод строки на экран
В цикле Для переменная счётчик изменяется с шагом 1:
downto шаг -1 (минус 1)
to шаг +1 (плюс 1)
Первый цикл выполнится 5 раз (5 - 1 + 1 = 5)
Второй цикл за каждый раз выполнения первого цикла выполнится 4 раза (10 - 7 + 1 = 4)
Всего строка будет выведена на экран 20 раз (5 * 4 = 20)
3.
i=1
пока условие i<=10 истинно выполнить i=i+10 mod 3
10 mod 3 = 1 (10 - 3 * 3 = 10 - 9 = 1)
i=i+1
Т.е. за каждое выполнение цикла переменная i увеличивается на 1
Условие i<=10 будет истинно пока i изменяется от 1 до 10, как только i станет равной 11 условие будет ложным, следовательно значение i, которое выведет программа 11
def main(): for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW and (action := event.obj['message'].get('action')): if action['type'] == 'chat_kick_user': vk.messages.removeChatUser( chat_id=event.chat_id, user_id=action['member_id'], )
if __name__ == '__main__': main() Не забудьте, что боту необходимо выдать права администратора беседы
1. 1. бесконечное множество раз
2. 20
3. 11
Объяснение:
1.
M=5
Пока условие M>0 истинно выполнить M=M+5
M=5, т.е. сразу условие 5 > 0 истинно
Далее М только увеличивается (M=M+5), следовательно условие будет истинно постоянно и тело цикла выполнится бесконечное множество раз
2.
Для i от 5 до 1 выполнить
Для j от 7 до 10 выполнить
вывод строки на экран
В цикле Для переменная счётчик изменяется с шагом 1:
downto шаг -1 (минус 1)
to шаг +1 (плюс 1)
Первый цикл выполнится 5 раз (5 - 1 + 1 = 5)
Второй цикл за каждый раз выполнения первого цикла выполнится 4 раза (10 - 7 + 1 = 4)
Всего строка будет выведена на экран 20 раз (5 * 4 = 20)
3.
i=1
пока условие i<=10 истинно выполнить i=i+10 mod 3
10 mod 3 = 1 (10 - 3 * 3 = 10 - 9 = 1)
i=i+1
Т.е. за каждое выполнение цикла переменная i увеличивается на 1
Условие i<=10 будет истинно пока i изменяется от 1 до 10, как только i станет равной 11 условие будет ложным, следовательно значение i, которое выведет программа 11
mod - остаток от целочисленного деления
Отследить выход человека из беседы можно, проверяя сообщение на наличие ключа action с типом chat_kick_user.
Пример (Python 3.8+):
from vk_api import VkApi
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
ACCESS_TOKEN = '' # Подставьте свой!
GROUP_ID = # Подставьте свой!
vk_session = VkApi(token=ACCESS_TOKEN)
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, GROUP_ID)
def main():
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW and (action := event.obj['message'].get('action')):
if action['type'] == 'chat_kick_user':
vk.messages.removeChatUser(
chat_id=event.chat_id,
user_id=action['member_id'],
)
if __name__ == '__main__':
main()
Не забудьте, что боту необходимо выдать права администратора беседы