select id, name,
row_number() over(order by id) rn_1, -- порядковый номер при сортировке по id
row_number() over(order by name) rn_2, -- но можно и при сортировке по именам
from table_name
class Counter:
def __init__(self, number=5, lower_limit=3, upper_limit=10):
self.number = number
self.lower_limit = lower_limit
self.upper_limit = upper_limit
# выведет значение счетчика
def __repr__(self):
return str(self.number)
def increase_count(self):
# делаем проверки диапазона, и если удовлетворяет, увеличиваем self.number
def decrease_count(self):
# делаем проверки диапазона, и если удовлетворяет, уменьшаем self.number
obj = Counter()
obj.increase_count()
print(obj) # выведет 6
obj.decrease_count()
print(obj) # выведет 5
obj.decrease_count()
obj.decrease_count()
obj.decrease_count() # ругнется на выход за диапазон
for p in data1[0]:
for p in data1[:1]:
p = data1[0]
def build_person(first_name, last_name, age=''):
"""Возвращает словарь с информацией о человеке."""
person = {'first': first_name, 'last': last_name}
if age:
person['age'] = age
return person
musician = build_person('jimi', 'hendrix', age=27)
print(musician)
from datetime import datetime
from datetime import timedelta
timedelta(seconds=1)
# текущее здоровье
def get_hp(user_id):
return cursor.execute("SELECT hp FROM users WHERE id = ?", (user_id, )).fetchone()[0]
# обновить здоровье
def update_hp(user_id, hp):
cursor.execute("UPDATE users SET hp = hp - ? WHERE id = ?", (hp, user_id, ))
conn.commit()
# и дальше уже их использовать
hp = get_hp(user_id)
if hp <= 0:
...
if hp ...
update_hp(user_id, attack_1)
if any(alias in text for alias in VA_ALIAS):
# перебирать команды из VA_CMD_LIST
# для каждой команды делать аналогичную проверку вхождения в текст
# проверка, что в исходном тексте содержится хотя бы одно из имен бота
text = "марик, открой vk"
if any(alias in text for alias in VA_ALIAS):