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

    @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_())
    Ответ написан
    Комментировать
  • Как ввести в условие что число отличается на 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 комментариев
  • Как передать значение переменной в содержимое под условным оператором ветвления 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")
    Ответ написан
    Комментировать