• Как убрать все идущие подряд идентичные символы в строке?

    @MasterCard000
    Кончено не особо красива получилось, на скорую руку набросал, но данная функция выполняет ваш запрос

    with open("input.txt",'r', encoding="utf-8") as message:
        data = message.read()
    
    arr_str = "55ццуучффвввтиио99аа 1122ткккппрро 33ттаапттоттткккккклммучифффлввосрррь"
    def double(arr):
        """
        цикл работает до тех пор, пока мы не
        убедимся в том, что, идущие подряд символы,
        которые повторяются по два раза, были удалены
    
        """
        while True:
            arr2 = ""
            gap = 0
            try:
                for i in range(len(arr)):
                    if arr[i] != arr[i+1]: # если не совпадает символ идем дальше, первый и второй символ
                        if arr[i] != arr[i-1]:  # проверяем первый и перед ним символ
                            arr2 += arr[i] # если не совпадают записываем
                    else:
                        gap += 1
            except: # исключение, если в строке нет индекса +1
                if arr[i] != arr[i-1]:  # проверяем первый и перед ним символ
                    arr2 += arr[i] # если не совпадают записываем
                arr = "" # очищаем строку, для записи новых данных
                arr += arr2 # записываем
                if gap == 0: # останавливаем цикл, так как дублирующих подряд символов нет
                    break
        return arr
        
    print(double(arr_str))
    print(double(data))
    Ответ написан
    Комментировать
  • Не получается скачать модуль дискорда. Что делать?

    @MasterCard000
    Написано же.
    Ошибка: требуется Microsoft Visual C++ 14.0. Получите его с помощью "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    5fa3010330dc9254933124.png
    Ответ написан
    Комментировать
  • Почему не от рисовался графический интерфейс в терминале после запуска?

    @MasterCard000
    Пробуй так

    class CurrencyConv(QtWidgets.QMainWindow, Ui_MainWindow):
        def __init__(self):
            super().__init__()
            QtWidgets.QMainWindow.__init__(self)
            self.setupUi(self)
    
    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        application = CurrencyConv()
        application.show()
        sys.exit(app.exec_())
    Ответ написан
    Комментировать
  • Как подружить sqlite и pyqt5?

    @MasterCard000
    Если я не ошибаюсь. Вы не можете в отдельном потоке менять значения. Вам надо делать сигналы на изменения в основном потоке.

    Попробуйте сигналами управлять, ниже код предоставил для визуального понимания, как работает сигнал.

    from PyQt5 import QtCore, QtGui, QtWidgets
    import sys
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(406, 240)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setGeometry(QtCore.QRect(50, 40, 251, 41))
            self.label.setObjectName("label")
            MainWindow.setCentralWidget(self.centralwidget)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.label.setText(_translate("MainWindow", "TextLabel"))
    
    class bb():
        def __init__(self, signal):
            signal.emit("Я здесь что то поменял\n и отправил в основной поток")
    
    class main(QtWidgets.QMainWindow, Ui_MainWindow):
        signal = QtCore.pyqtSignal(str)
        def __init__(self, parent=None):
            super().__init__()
            QtWidgets.QMainWindow.__init__(self)
            self.setupUi(self)
            self.signal.connect(self.text, QtCore.Qt.QueuedConnection)
            bb(self.signal)
        def text(self, text):
            self.label.setText(text)
    
    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = main()
        MainWindow.show()
        sys.exit(app.exec_())
    Ответ написан
    Комментировать
  • Как ввести в условие что число отличается на 2?

    @MasterCard000
    Не особо понял вашего вопроса. Сделал его как я вас понял.
    Оно ?

    from random import randint
    a = randint(0, 15)
    print(a)
    print("угадай число от 0 до 15 с 3-х попыток")
    inter = int(input())
    i = 0
    while True:
        if i <= 2:
            if a != inter:
                if 2 >= abs(a - inter):
                    print('Тепло')
                else:
                    print('Холодно')
            if inter > a:
                i += 1
                inter = int(input('Нужно меньше\n'))
                continue
            elif inter < a:
                i += 1
                inter = int(input('Нужно больше\n'))
                continue
            else:
                print('You win!')
                break
        else:
            print('Число' , a , 'было загадано')
            break
    Ответ написан
    Комментировать
  • Как улучшить код получения текста с картинки?

    @MasterCard000
    Думаю вы так хотели ?
    5f515e7c76f0a841509570.png
    Конечно не 100% результат, но вы с настройками можете поиграться
    import cv2
    import pytesseract
    
    def text(img, size, chan):
        pytesseract.pytesseract.tesseract_cmd = r'Tesseract-OCR\tesseract.exe'
        scale_percent = int(size)# Процент от изначального размера
        image = cv2.imread(img)
        width = int(image.shape[1] * scale_percent / 100)
        height = int(image.shape[0] * scale_percent / 100)
        dim = (width, height)
        resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
        gray = cv2.cvtColor(resized, cv2.COLOR_BGR2GRAY)        #
        ret, threshold_image = cv2.threshold(gray, chan, 150, 1, cv2.THRESH_BINARY)
        text = pytesseract.image_to_string(threshold_image, config='--psm 11')
        # cv2.imshow("123", threshold_image)
        # cv2.waitKey(0)
        return text
    
    text1 = text("1.png", 350, 150)
    print(text1,"\n\n")
    
    text2 = text("2.png", 350, 30)
    print(text2,"\n\n")
    
    text3 = text("3.png", 350, 160)
    print(text3,"\n\n")
    Ответ написан
    Комментировать
  • Как в PyOWM 3 указать русский язык?

    @MasterCard000
    Вот так вы хотели ? Или может я вас не так понял.

    import pyowm
    
    city = input("Какой город вас интересует?: ")
    owm = pyowm.OWM('a99967bc9ee70d5b4bd387902982f400', language = "RU")
    observation = owm.weather_at_place(city)
    w = observation.get_weather()
    
    temperature = w.get_temperature('celsius')['temp']
    
    
    print("В городе " + city + " сейчас температура: " + str(temperature) + " по Цельсию.")
    print('Погода в указаном городе: ' + w.get_detailed_status())

    5e2b67eda5ed4071847212.png
    Ответ написан
    2 комментария
  • Какой самый простой способ отправки email из python3?

    @MasterCard000
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    
    msg = MIMEMultipart()
    login = "test@mail.ru" # Логин почты
    password = "tEst" # Пароль от почты
    poluch = "test1@gmail.com" #- Кому отправляете сообщения.
    msg['Subject'] = 'Тема письма'
    msg['From'] = login # Тут от кого отправляли сообщения
    #part = MIMEText('Тут сообщения какое-то') #просто отправить текст
    part = MIMEText('Тут сообщения какое-то', "html") #передаем с html разметкой 
    msg.attach(part)
    #smtp.gmail.com:587 - гугла. Для него надо разрешать подключения сторонних приложениях
    #в настройках аккаунта. Без этого вы не отправите сообщения и плюс вам придет сообщения на
    #почту, что кто то пытался отправить от вашего имени сообщения из сторонней программы.
    #smtp.mail.ru:587 - mail. Маилу пофигу на все, не чего разрешать не надо просто меняете данные и можете отправлять письма.
    #Все остальные имена сервера найдете в интернете))) Они могут немного отличаться 
    server = smtplib.SMTP("smtp.mail.ru:587")
    server.ehlo()
    server.starttls()
    server.login(login, password)
    server.sendmail(msg['From'], [poluch], msg.as_string())

    Надеюсь я вам помог, дальше думаю разберетесь, что да и как )) Вроде бы все прокомментировал.
    Ответ написан
    4 комментария
  • Почему не срабатывает await?

    @MasterCard000
    Я так понимаю вы забыли библиотеку импортировать

    import asyncio
    
    async def callee():
        print('Hello')
    
    async def caller():
        await callee()
        print('World')
    
    if __name__ == '__main__':
        asyncio.run(caller())


    5e1521adbe673666227516.png
    Ответ написан
    Комментировать
  • Как получить код страницы в инстаграмме как авторизированный пользователь?

    @MasterCard000
    Через библиотеку "webdriver" можете авторизоваться. Дополнительно нужно будет качать драйвер браузера.
    Все операции можно делать через id полей. Так же можно им и парсить
    Ответ написан
    Комментировать
  • Проблема с PyAutoGUI в чем проблема?

    @MasterCard000 Автор вопроса
    Разобрался в чем дело. Так как PyAutoGUI обновился и сделали поиск боле тщательным. И не мог найти те объекты которые я искал. Вот, что мне помогло всего лишь, grayscale=True
    Ответ написан
    Комментировать
  • Как отключить клавиатуру и мышь на время?

    @MasterCard000 Автор вопроса
    Решение помогло с помощью библиотеки ctypes
    Пример
    from ctypes import *
    
    while True:
            windll.user32.BlockInput(True)

    Когда будите запускать этот код. Учтите мышь и клавиатура выключиться. Делайте условия и затем выводите windll.user32.BlockInput(False). Иначе только перезагрузка ПК поможет вернуть мышь и клавиатуру
    Ответ написан
    7 комментариев
  • Критическая ошибка cmd. Как решить?

    @MasterCard000 Автор вопроса
    Проблему решил обновлением системы. Так как все же не зря лицензию купил !)))
    Ну так же поможет восстановление системы или откат ее на более позднее время. Видно глюк системы.
    Ответ написан
    Комментировать
  • Как передать значение переменной в содержимое под условным оператором ветвления if в python?

    @MasterCard000
    Все работает, сидишь и залипаешь на циферки )))))
    import random, time
    
    score = 0
    
    while True:
        time.sleep(2)
        res = random.randint (1, 2)
        if res == 1:
            score += 1
            print ('Ты выиграл\nТвой счет:', score,"\n")
        if res == 2:
            score -= 1
            print ('Ты проиграл\nТвой счет:',score,"\n")
    Ответ написан
    Комментировать