@Nazorej

Что делать, когда счетчик считает неправильно?

Я попросил искусственный интеллект написать программу, и зря попросил ее усложнить, теперь не знаю что делать, он только обещает, что зайдет на облака и посмотрит мой код. Можете посмотреть, почему счетчик неправильно считает? Он должен считать до обновления, а он живет своей жизнью. Кнопка которая лайкает закрывает текст, если не поможете с кнопкой ну и ладно. Помогите хотя бы со счетчиком - пожалуйста.
# Создаем функцию для обновления таймера
def update_timer():
    # Добавляем одну секунду к объекту времени
    time.addSecs(1)
    # Выводим время в формате MM:SS на метку
    label.setText(time.toString("mm:ss"))

# Связываем кнопку с функцией лайка
like_button.clicked.connect(like_quote)

# Создаем новую базу данных SQLite для сохранения истории
conn2 = sqlite3.connect("history.db")
c2 = conn2.cursor()

# Создаем таблицу для хранения истории с полем даты и времени
c2.execute("CREATE TABLE IF NOT EXISTS history (text TEXT, date_time TEXT, liked INTEGER)")
conn2.commit()

# Создаем функцию для обновления анекдотов
def update_quote():

    # Создаем объект времени с начальным значением 00:00:00
    time = QTime(0, 0, 0)

    # Объявляем переменную quote как глобальную, чтобы использовать ее в других функциях
    global quote

    # Выбираем случайный анекдот из списка
    quote = random.choice(quotes)

    # Выводим анекдот на метку
    label.setText(f"{quote[0]}")

    # Получаем текущую дату и время в формате YYYY-MM-DD HH:MM:SS
    date_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    # Сохраняем анекдоты, дату и время в таблицу истории
    c2.execute("INSERT INTO history VALUES (?, ?, ?)", (quote[0], date_time, 0))
    conn2.commit()

def update_counter():
    # Уменьшаем значение интервала на единицу
    global interval; interval -= 1

    # Обновляем текст метки с добавлением счетчика в формате MM:SS
    label.setText(f"{quote[0]}\n\n{time.strftime('%M:%S', time.gmtime(interval))}")

# Создаем таймер PyQt для обновления анекдотов
timer = QTimer()

# Создаем таймер PyQt для обновления счетчика
counter_timer = QTimer()

# Устанавливаем интервал таймера счетчика в 100 миллисекунд
counter_timer.setInterval(100)

# Устанавливаем интервал таймера в 30 минут (1800000 миллисекунд)
timer.setInterval(1800000)

# Связываем таймер с функцией обновления счетчика
counter_timer.timeout.connect(update_counter)

# Запускаем таймер
counter_timer.start()

# Связываем таймер с функцией обновления анекдотов
timer.timeout.connect(update_quote)

# Запускаем таймер
timer.start()

# Обновляем анекдоты в первый раз
update_quote()

# Запускаем приложение PyQt
app.exec_()
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Что делать, когда счетчик считает неправильно?

Изучать алгоритмы, структуры данных, язык программирования, разбирать, как работает предложенный вам код, осваивать дебаггер, дебажить код и исправлять. Когда уткнетесь в конкретную проблему - приносите.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час