Xacker_Name, если не знаешь в каком диапазоне значений будет число, тогда экспоненциальная нотация (2e-12) удобнее.
И потом, ты же в курсе, что многие числа нельзя точно представить в виде float?
>>> print(0.1+0.2)
0.30000000000000004
Это - погрешность представления float. Так что определить количество значимых цифр в числе - задача нетривиальная, и не всегда выполнимая.
Вопрос нуждается в уточнении.
Что именно имеется ввиду под "открыл файл"? Запустил ассоциированную с типом файлов программу? Или просто вызвал на нем open()? И если последнее, что что бот должен сделать с этим файловым объектом? Просто выбросить?
BANmrP, ну вот, у тебя есть объет msg.Author, у него и вызывай метод AddRoleAsync(). Нужно только сообразить как получить объект нужной роли, но тут уж лазай по документации.
szjyakgf, time.time() возвращает метку времени - число целых и дробных секунд, прошедшее с 1 января 1970 года (т.н. эпоха Unix). Так что просто прибавляешь к этому значению срок выраженный в секундах. 3 часа будет 3 * 60 * 60.
lr_udbe_999, тогда бери Марк Лутц, "Изучаем Питон", и вникай. Осилишь - возвращайся к созданию бота.
Просто потому что боты - вещь нетривиальная, независимо от того что утверждают ютуберы. Начинать сразу с них, не разобравшись с переменными, функциями, классами, асинхронным программированием как таковым - плохая идея.
А готовый код - это не сюда, это туда.
Андрей Годунко,
1. Хауди Хо смотреть - только себе вредить. "Изучаем Питон" - книжка объемная, но зато разжевывает каждую тему.
2. Начиная с какого места непонятно?
3. Стоп. Уже от трех по порядку? В заголовке вопроса вроде речь идёт строго про три числа?
4. За готовым кодом вон туда. Тут могут попробовать объяснить, как написать самому. Да и потом, если ты сейчас практику пройдёшь на всем готовом, какой толк от тебя будет на олимпиаде?
Dima_dawefwf, ну про что и речь, просто примени мою идею к своему коду.
Отдельно - функции элементы списка. Отдельно - функция обработчик кнопки. Эта функция выбирает случайный элемент-функцию списка (во временную переменную), удаляет выбранное из списка, и вызывает.
Всё. Если ты код в вопросе сам написал, то с переделкой справишься, тут ничего нового.
Андрей Годунко, причем тут pip - то что я написал, это базовые возможности питона. И конструкция ни разу не сложная, это полнейшие азы.
Функция range() просто генерирует последовательность чисел с шагом. У меня шаг -1, т.е. числа будут идти от некоторого начального к нулю.
Выражение our_list[i:i+3] - это срез (slice), означает "возьми из коллекции our_list элементы с номера i по номер i+3, но не включая i+3". Т.е. будут взяты элементы с номерами i, i+1, i+2.
Умножение списка на число - это просто повтор. Т.е. [1] * 3 = [1, 1, 1]
Ну и del удаляет указанные элементы из коллекции, в нашем случае опять срез.
Так что открывай учебник, того же Лутца "Изучаем Питон", и вникай.
Идём по списку задом наперед по очень простой причине - если мы удалим кусок из списка, элементы за этим куском "съедут" к началу. Если мы идём от конца к началу, то "съезжать" будут уже обработанные элементы, и нам это не помешает. А вот если бы шли в обратную сторону - нам бы это помешало.
Анатолий Белоусов, в будущем с такими вопросами в гугл, хорошо? Если на пальцах, программа, которая решает, какие процессы пускать в сеть, а какие не пускать.
В винде он встроенный, вроде называется "Брандмауэр Windows". И он обычно спрашивает при первом запуске экзешника, куда разрешить доступ.
smarisov666, блджад, скопировать текст и засунуть под спойлер не пробовали? Также поиграйтесь с параметром
traceback.print_exc(limit = X) чтобы убавить размер вывода.