Задать вопрос
w_horn
@w_horn

Можно ли упростить код?

Доброй ночи.
Написал вот такую функцию:

def e_reg(chat_id, user_id):
	table.execute("""SELECT * FROM vkbottable WHERE chat_id = '{}' and user_id = '{}'""".format(chat_id, user_id))
	counter = 0
	for k in table:
		counter += 1
	if counter == 0:
		table.execute("""INSERT into vkbottable values ('{}', '{}', '0', 'false')""".format(chat_id, user_id))
		text = "Регистрация успешна!"
	else:
		text = "Вы уже зарегистрированы!"
	return text


Получаем строку с нужными id. Дальше в цикле через счётчик проверю, вернул ли запрос строку. Дальше всё от значения счётчика зависит.

Можно ли этот код сделать ещё меньше? Можно ли какой-нибудь функцией проверить возвращает запрос строку или нет?
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
w_horn
@w_horn Автор вопроса
Изменил так:
def e_reg(chat_id, user_id):
    table.execute("""SELECT * FROM vkbottable WHERE chat_id = '{}' and user_id = '{}'""".format(chat_id, user_id))
    if table.fetchone() == None:
        table.execute("""INSERT into vkbottable values ('{}', '{}', '0', 'false')""".format(chat_id, user_id))
        return "Регистрация успешна!"
    else:
        return "Вы уже зарегистрированы!"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы