Ответы пользователя по тегу Python
  • Циклы в 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 и &&, но возможно вам это необходимо т.к. является особенностью Убунты.
    Ответ написан
    Комментировать
  • Как извлечь нужный текст из строки 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
    Работаю не по специальности (:
    Я так понимаю вам нужно исключить любые символы кроме чисел.
    Можно провести проверку, что вводимые пользователем данные являются числом, а не буквой или иным знаком.

    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?

    @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').
    Ответ написан
    Комментировать
  • Почему выводит True?

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