Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » когда доходит до конца списка - выбивает ошибку. Что мне и куда надо вписать, чтобы писало, что вы дошли до конца списка, начинаем сначала [RSS Feed]

#1 Апрель 16, 2023 15:04:01

Marie
Зарегистрирован: 2021-06-14
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

когда доходит до конца списка - выбивает ошибку. Что мне и куда надо вписать, чтобы писало, что вы дошли до конца списка, начинаем сначала

Вот мой код. У меня есть три списка - три кнопки. Всё работает отлично, спасибо вам всем.

Но когда доходит до конца списка - выбивает ошибку. Что мне и куда надо вписать, чтобы писало, что вы дошли до конца списка, начинаем сначала - и нажатие на кнопку снова срабатывало? Спасибо большое.

import telebot
import random
from telebot import types
from collections import deque

def get_first_element_in_the_queue(array: list) -> str:
first_element = array
array.rotate(-1)
return first_element

f = open('/Users/marina/ukrwrite/ch.txt', ‘r’, encoding='UTF-8')
ch = f.read().split('\n')
f.close()

f = open('/Users/marina/ukrwrite/useful.txt', ‘r’, encoding='UTF-8')
useful = f.read().split('\n')
f.close()

f = open('/Users/marina/ukrwrite/ra.txt', ‘r’, encoding='UTF-8')
ra = f.read().split('\n')
f.close()

ch_q = deque(ch)
useful_q = deque(useful)
ra_q = deque(ra)

bot = telebot.TeleBot('')

@bot.message_handler(commands
def start(m, res=False):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton(“челендж”)
item2=types.KeyboardButton(“корисне”)
item3 = types.KeyboardButton(“рекомендовані авторки”)
markup.add(item1)
markup.add(item2)
markup.add(item3)
bot.send_message(m.chat.id, ‘Привіт. ’, reply_markup=markup)
handle_text(message=None, useful_q=useful_q)

@bot.message_handler(content_types
def handle_text(message):
if message.text.strip() == ‘челендж’:
ch_q == get_first_element_in_the_queue(ch_q)
bot.send_message(message.chat.id, ch_q)
if message.text.strip() == ‘корисне’:
useful_q == get_first_element_in_the_queue(useful_q)
bot.send_message(message.chat.id, useful_q)
if message.text.strip() == ‘рекомендовані авторки’:
ra_q == get_first_element_in_the_queue(ra_q)
bot.send_message(message.chat.id, ra_q)
bot.infinity_polling()

Офлайн

#2 Апрель 16, 2023 18:49:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9863
Репутация: +  853  -
Профиль   Отправить e-mail  

когда доходит до конца списка - выбивает ошибку. Что мне и куда надо вписать, чтобы писало, что вы дошли до конца списка, начинаем сначала

Оформи код правильно в теги.



Офлайн

  • Начало
  • » Python для новичков
  • » когда доходит до конца списка - выбивает ошибку. Что мне и куда надо вписать, чтобы писало, что вы дошли до конца списка, начинаем сначала[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version