• Циклы в Python. Как вернуться на определённую строку в коде?

    @ceytnot
    Работаю не по специальности (:
    Ну навскидку можно сделать как-то так:
    questions = {1: ("Кто из этих персонажей не дружит с Гарри Поттером? а) Рон Уизли б) Невилл Лонгботтом в) Драко Малфой г) Гермиона Грейнджер: ", "в"),
                2: ("Какое животное не фигурирует в китайском зодиаке? а) Дракон б) Кролик в) Собака г) Колибри: ", "а")}
    
    question_number = 1   
    
    while question_number in questions:
        answer = input(questions[question_number][0])
        if answer == questions[question_number][1]:
            question_number += 1
            print('Молодец Правильно!!! Следующий вопрос: =>>')
        else:
            answer = input('НЕПРАВИЛЬНО! Хотите попробовать еще раз? да/нет ')
            if answer != "да":
                print("Игра окончена!")
                break
            else:
                pass
    print("Вопросы кончились")
    Ответ написан
    Комментировать
  • Как сделать чтоб при запуске приложения .exe сразу открывался локальный сервер в браузере?

    @ceytnot
    Работаю не по специальности (:
    Так получилось, что пилю для отдела небольшую базу на Flask, веб-интерфейс работает через любой браузер Также использую pyinstaller, но с auto-py-to-exe (мне удобнее тестировать разные настройки в графическом интерфейсе). Там можно выставить значение запуска с консолью и без консоли. Честно скажу, без консоли мое приложение вылетает с ошибкой, с консолью всё работает как надо. Пока не углублялся в этот вопрос, возможно у вас получится найти решение.
    Для запуска браузера после запуска Flask использую библиотеку webbrowser.
    Ответ написан
    Комментировать
  • Почему код не работает асинхронно?

    @ceytnot
    Работаю не по специальности (:
    Так с первого взгляда у вас нет await перед asyncio.gather и в определении самой функцией main нет async.
    Ответ написан
  • Как показывать диалоговое окно при ошибке в python при соединении с базой данных?

    @ceytnot
    Работаю не по специальности (:
    tkinter не пользовался, но полагаю вам надо копать в сторону конструкции обработки исключений
    try:
    # Здесь  идет подключение к вашей БД
    except:
    # здесь прописываете, что делать, если произошла ошибка подключения
    # например вывод диалогового окна
    Ответ написан
    Комментировать
  • Как при запуске сервера, запустить CRON с нужным окружением python?

    @ceytnot
    Работаю не по специальности (:
    У меня в Кроне вот такая запись:
    */10 * * * * /var/py_proj/polikliniki_bot/bin/python3.9 /var/py_proj/polikliniki_bot/main_inform_user.py

    Первым идет путь к виртуальному окружению, потом уже путь к скрипту.
    У вас судя по всему наоборот. У меня Debian и у меня нет cd и &&, но возможно вам это необходимо т.к. является особенностью Убунты.
    Ответ написан
    Комментировать
  • Не запускается postgres 14 fedora 38?

    @ceytnot
    Работаю не по специальности (:
    Насколько я помню, параметр должен быть unix_socket_directories, а не unix_socket_directory.
    Что имеет смысл, т.к. можно задать несколько каталогов через запятую.
    Ответ написан
  • Как извлечь нужный текст из строки Python?

    @ceytnot
    Работаю не по специальности (:
    Если совсем просто и без подключения сторонних библиотек:
    stroka = "[Win32Window(hWnd=123456)]"    # исходная строка
    stroka = stroka.replace("[Win32Window(hWnd=", "")    # заменяем стандартным методом "[Win32Window(hWnd=" на пусто ""
    stroka = stroka.replace(")]", "")    # заменяем стандартным методом ")]" на пусто ""
    print(stroka)    # получаем 123456

    Можно еще упростить, если написать две строки с replace в одну:
    stroka = stroka.replace("[Win32Window(hWnd=", "").replace(")]", "")
    Ответ написан
    Комментировать
  • Хочу установить модуль, но выдает ошибку. Почему? Что делать?

    @ceytnot
    Работаю не по специальности (:
    Была похожая проблема.
    Мне помогло помимо самого С++ доустановить следующие компоненты из Build Tools:
    MSVC
    Windows SDK
    C++ CMake tools
    Testing tools core feature
    Address sanitizer
    Ответ написан
  • Как получить ссылку на трек яндекс музыки через запрос на python?

    @ceytnot
    Работаю не по специальности (:
    Ссылка на случайный трек имеет вид:
    https://s114vlx.storage.yandex.net/get-mp3/518687d...

    Как видите здесь много переменных, вероятно динамических. Возможно, если посравнивать десятки или сотни таких ссылок на разные треки, то можно получить зависимость. А может и нет.
    Ответ написан
    4 комментария
  • Как сделать проверку символов с возвратом на строку кода?

    @ceytnot
    Работаю не по специальности (:
    Я так понимаю вам нужно исключить любые символы кроме чисел.
    Можно провести проверку, что вводимые пользователем данные являются числом, а не буквой или иным знаком.

    def symbol_check():    #объявляем функцию, которая будет это делать
        try: # говорим, что хотим обработать исключения
            arg = input()    #просим пользователя ввести данные 
            arg = int(arg)   # и пытаемся перевести строку в тип данных int
            return arg # если получается, возвращаем введенное значение
        except ValueError:    # если возвращается ошибка, 
            print("введены недопустимые симовлы") #ругаем пользователя
            symbol_check()  #и просим ввести еще раз, и так пока пользователь не введет корректно
    Ответ написан
    Комментировать
  • Как правильно сохранить видео файл?

    @ceytnot
    Работаю не по специальности (:
    У вас значение vid не меняется. Каждый раз вы присваиваете ему 0, а потом сразу же +1. В конструкции with open у вас получается vid всегда равен 1. Поэтому файл и перезаписывается.

    Как вариант добавить проверку, что такой файл уже есть, и если есть, прибавить 1.
    И так пока такого файла найдено не будет.
    import os.path
    vid = 0
    while os.path.exists(f'videos/{vid}.mp4') == True:
        vid += 1
    # и далее уже with open
    Ответ написан
    3 комментария
  • Как запустить python скрипт с помощью php?

    @ceytnot
    Работаю не по специальности (:
    Ниже пример моего кода, который я использовал для запуска питоновского скрипта.
    Соответственно для запуска питона нужен установленный Python, для запуска php какой-нибудь Nginx с установленным Apache.
    <?php 
    $output = shell_exec('python3 /var/www/static/blid.py h'); 
    echo $output;
    header('Location: index.php');
    ?>


    А может быть стоит использовать Django или Flask раз уж вы собрались запускать Python?
    Поддерживает что-то из этого ваш хостинг?
    Ответ написан
    Комментировать
  • Можете пожалуйста помочь с ошибкой в программе в Python?

    @ceytnot
    Работаю не по специальности (:
    Мало данных. Непонятно какой вы пользуетесь библиотекой и пользуетесь ли вообще. Фрагмент кода, видимо, является частью класса. Обе ошибки по сути указывают на то, что у вас нет атрибута sound в классе MP3player, о чем собственно в описании ошибок так и написано. Разберитесь с этой строчкой: pos = self.sound.get_pos() и с атрибутом sound. Действительно ли он там должен быть и правильно ли вы его записали.
    Ответ написан
    Комментировать
  • Как посчитать сумму значений к каждому ключу?

    @ceytnot
    Работаю не по специальности (:
    for name in nba_players:
        print(f"{name}: {sum(nba_players[name])}")
    Ответ написан
    Комментировать
  • Как сделать вывод на одной строке?

    @ceytnot
    Работаю не по специальности (:
    Предварительно в настройках PyCharm поставить галочку Run > Edit configuration > Emulate terminal in output console.

    import time
    import os
    
    a = int(input('Укажите время для таймера в секундах - '))
    
    while a > 0:
        os.system('cls')
        print(f'Осталось {a} секунд')
        a -= 1
        time.sleep(1)
    print('Таймер завершен  ')


    Код приведен для Win, если у вас Linux, то надо заменить os.system('cls') на os.system('clear').
    Ответ написан
    Комментировать
  • Как сделать так что бы бот возвращал “ответное” сообщение обратно в чат с ботом?

    @ceytnot
    Работаю не по специальности (:
    Сохранять где-нибудь ID пользователя и ID сообщения, которое постит бот. Соответственно номер сообщения "две ложки" будет 'ID cообщения + 1'. При появлении сообщения "две ложки" отправлять 'ID cообщения + 1' пользователю с сохраненным ID.
    Ответ написан
  • Как сделать чтобы пайчарм запускался с экрана приветствия?

    @ceytnot
    Работаю не по специальности (:
    File -> Settings -> Appearance & Behaviour -> System Settings
    Снять галочку с Reopen last project on startup и убедится, что стоит отмеченной радиокнопка Ask.
    Ответ написан
    Комментировать
  • Почему выводит True?

    @ceytnot
    Работаю не по специальности (:
    Конструкция if True всегда будет True.
    А в проверку условия вы не поставили что именно вы хотите проверять.
    Полагаю должно было быть что-то вроде:
    car = "toyota"
    if car == 'audi':
        print("I predict True")
    else:
        print("I predict False")
    Ответ написан
    Комментировать