Ответы пользователя по тегу Python
  • Как словить параметр в ошибке в Telethon?

    @Scream034
    Новичок в разработке
    Используй исключения try-except и там слови эту ошибку, а в ней возьми поле seconds 0(вроде так)0
    Ответ написан
    Комментировать
  • Не работает ветвление if-elif-else в python, игнорирует условия. Как исправить?

    @Scream034
    Новичок в разработке
    У тебя неправильная конструкция if-elif-else, не надо использовать такое
    if text == 'привет' or 'привет)' or 'здравствуйте': pass
    .
    Вот верно
    if text == 'привет' or text == 'привет)' or text == 'здравствуйте': pass

    Вот код исправный:
    import telebot
    
    TOKEN = "TOKEN"
    bot = telebot.TeleBot(TOKEN)
    
    @bot.message_handler(commands=['start', 'go'])
    def start_handler(message):
        bot.send_message(message.chat.id, 'Привет, напиши тривиальное название химического вещества, а я посмотрю, что о нём знаю.')
    
    @bot.message_handler(content_types=['text'])
    def text_handler(message):
        text = message.text.lower()
        
        # from re import sub
        # text = sub(r'[^\w\s]', '', text) # Можешь использовать для удаления всех не нужных знаков по типу - : ; ! , ? . - _ и т.д
        
        chat_id = message.chat.id
        if text == 'привет' or text == 'привет)' or text == 'здравствуй' or text == 'здравствуйте' or text == 'здорово' or text == 'здравствуй)' or text == 'здравствуйте)' or text == 'ghbdtn' or text == 'plhfdcndeqnt' or text == 'plhfdcndeq':
            bot.send_message(chat_id, 'Привет, меня зовут Врунишка - главный знаток химических названий... А если серьёзно, то я всего-навсего обычный бот, который любит химию.\n\n'
                                      'Буду рад поделиться своими знаниями. Просто напиши название вещества, а я посмотрю в своей химической базе данных.')
        elif text == 'как дела?':
            bot.send_message(chat_id, 'Хорошо, а у тебя?')
        elif text == 'бензол' or text == 'benzene' or text == 'бензен' or text == 'фениловый водород' or text == 'фенан' or text == 'фениленгидрид' or text == 'циклогекса-1,3,5-триен' or text == '1,3,5-циклогексатриен' or text == '[6]-аннулен' or text == '[6]аннулен':
            bot.send_message(chat_id, 'Название ИЮПАК: бензол, циклогекса-1,3,5-триен\n'
                                      'Прочие названия: бензен, фениловый водород, [6]-аннулен\n'
                                      'На английском: benzene, phenane, phenylene hydride, 1,3,5-Cyclohexatriene, [6]Annulene\n\n'
                                      'Брутто-формула: C\u2086H\u2086 \n'
                                      'Молярная масса: 78,11 г/моль')
        else:
            bot.send_message(chat_id, 'Простите, я ваc не понял :(')
    bot.polling(none_stop=True, interval=0)
    Ответ написан
    2 комментария
  • Как добавить значение в файл json через python?

    @Scream034
    Новичок в разработке
    Вот, но это АЗЫ для твой проги
    from json import load, dump
    
    class Users:
        """Общий класс для работы с пользователями в формате JSON"""
        
        def __init__(self, filename='users.json'):
            self.filename = filename
            self.load()
    
        def load(self):
            """Загрузить файл с пользователями"""
            
            try:
                with open(self.filename) as fp:
                    self.users = load(fp)
            except FileNotFoundError:
                self.users = {}
    
        def save(self):
            """Сохраняет файл с пользователями"""
            
            with open(self.filename, 'w') as fp:
                dump(self.users, fp)
    
        def add_user(self, name, lakes):
            """Добавляет пользователя"""
            
            user_id = str(len(self.users) + 1)
            self.users[user_id] = {'name': name, 'lakes': lakes} # Здесь можно добавить поля
            self.save()
    
        def remove_user(self, user_id):
            """Удаляет пользователя"""
            
            if user_id in self.users:
                del self.users[user_id] 
                self.save()
    
        def get_users(self):
            """Получить пользователей"""
            
            return self.users
    
        def get_user(self, user_id):
            """Получить пользователя под номером..."""
            
            return self.users.get(user_id, None)
        
    # Иниц-я
    users = Users()
    
    print(users.users)
    
    # добавлять пользователя
    users.add_user("Poll", 124)
    
    # Сохранить файл
    users.save()
    Ответ написан
    Комментировать
  • Как написать код, чтоб данные генерировались в .csv вместо .xls?

    @Scream034
    Новичок в разработке
    1) использовать тип файла *.csv
    2) поменять методы, которые работают с csv (to_csv()&read_csv() - они есть в pandas)
    Ответ написан
    Комментировать
  • Что за ошибку выдает этот код на пайтоне? не смог понять?

    @Scream034
    Новичок в разработке
    Ошибка из-за того что blob == None, добавь if что если он не равен None, то выполняем код для студента, ну и если же он пуст, то выводим ("Error: blob is None") или какую-то логику.

    Пример:
    if blob is not None:
        # Тут логика если он не равен None
        array = np.frombuffer(blob.download_as_string(), np.uint8)
        imgStudent = cv2.imdecode(array, cv2.COLOR_BGRA2BGR)
    else:
        # Тут если он равен None
        print(f"Image for student {id} not found in storage")
    Ответ написан
    Комментировать