def get_top_surviveds(self, limit=3):
with self.connection:
return self.cursor.execute("SELECT * FROM stats ORDER BY survived desc LIMIT ?", (limit, )).fetchall()
# тестовые данные, 2 загрузки
d1 = [[1016, '2', 141, 0], [1017, '2', 22341, 0], [1018, '2', 1109, 0], [1019, '2', 517, 0], [1020, '2', 443, 0], [1021, '2', 1701, 0], [1022, '2', 1604, 0], [1023, '2', 295, 0]]
d2 = [[1021, '2', 1701, 0], [1022, '2', 1604, 0], [1023, '2', 295, 0], [1027, '2', 1933, 0], [1029, '2', 398, 0]]
load_data = [d1, d2]
all_data = []
last_id = 0
for data in load_data:
for row in data:
if row[0] > last_id:
all_data.append(row)
last_id = row[0]
class SQLighter:
def __init__(self, database):
self.connection = sqlite3.connect(database, check_same_thread = False)
self.connection.row_factory = sqlite3.Row # этой строкой указываем, что результат получаем в виде словаря
self.cursor = self.connection.cursor()
self.cursor.execute("CREATE TABLE IF NOT EXISTS stats (user_id INT, user_name TEXT, survived INT, infected INT)")
...
# и можно сделать такую функцию, возвращающую всю информацию пользователя
def get_info(self, id):
with self.connection:
return self.cursor.execute("SELECT * FROM stats WHERE user_id=?", (id, )).fetchone()
sql_lighter = SQLighter("database.db")
sql_lighter.add_user(982543922, "Владимир", 1, 1)
# затем получаем весь словарь данных и можем использовать любые нужные поля из него
data = sql_lighter.get_info(982543922)
print(data)
print(data['user_name'])
print("Информация пользователя {}: имя: {}, survived: {}, infected: {}".format(data['user_id'], data['user_name'], data['survived'], data['infected']))
with codecs.open('intents.json', encoding='utf-8') as f:
intents = json.load(f)
import time
import pytesseract
from PIL import Image, ImageGrab
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR/tesseract.exe"
tessdata_dir_config = r'--tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"'
time.sleep(10)
while True:
try:
time.sleep(4)
# просто считываем с экрана и напрямую распознаем
img = ImageGrab.grab(bbox=(713,550,1400,586))
text = pytesseract.image_to_string(img, lang='rus', config=tessdata_dir_config)
...
import pytesseract
filename = 'Image.png'
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR/tesseract.exe"
tessdata_dir_config = r'--tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"'
img = Image.open(filename)
text = pytesseract.image_to_string(img, lang= 'rus', config=tessdata_dir_config)
Как найти наименьшее отрицательное значение?
Все работает, кроме нахождения наименьшего отрицательного элемента
if a[i]<0:
res+=[i]
for n in a:
if n<0:
...
добавлял оценку в существующую строчку
mySQLQuery = (f'''update dbo.rating set `{subject}` = {appr} where id = '{your_id}')''')
mySQLQuery = f'''update dbo.rating set `{subject}` = %s where id = %s'''
cursor.execute(mySQLQuery, (appr, your_id))
def dirReduc(arr):
dirs = {"NORTH": "SOUTH", "SOUTH": "NORTH", "EAST": "WEST", "WEST": "EAST"}
stack = []
for d in arr:
if stack and dirs[d] == stack[-1]:
stack.pop()
else:
stack.append(d)
return stack
иногда еле-ели вертится!)
bmp_дерево_rot = pygame.transform.rotate(bmp_дерево, rotate(bmp_image))
bmp_image = bmp_дерево_rot.get_rect(center=(150, 700))
sc.blit(bmp_дерево_rot, bmp_image)
def rotate(oject2):
mouse_x, mouse_y = pygame.mouse.get_pos()
x, y = bmp_image.center
rel_x, rel_y = mouse_x - x, mouse_y - y
angle = (180 / math.pi) * -math.atan2(rel_y, rel_x)
return angle
, "Похудел" "Нет",
ids = {result['id'] for result in data['result']}
print(ids)
{'8da31f62a40a2eb3973c9df3', '60831f62a40a2eb3973c9df3'}
{'8da31f62a40a2eb3973c9df3', '60831f62a40a2eb3973c9df3', '60831f62a40a2eb3973c9df5'}
diff_ids = new_ids - ids
news = [result for result in new_data['result'] if result['id'] in diff_ids]
@bot.messege_handler(content_types=['text'])
@bot.handler_backends(content_types=['text'])
@bot.message_handler(content_types=['text'])
Board.mark_destroyed_ship(sh)
self.mark_destroyed_ship(sh)
CREATE TABLE IF NOT EXISTS post_likes (
id integer primary key,
post_id integer, -- id поста
user_id integer, -- id пользователя
likes integer
);
select sum(likes) total_score, -- общий счет
sum(case likes when 1 then 1 end) sum_likes, -- кол-во лайков
sum(case likes when -1 then 1 end) sum_dislikes -- кол-во дизлайков
from post_likes where post_id = нужный_id_поста
bot.register_next_step_handler(sent, audio_description, audio)
...
def audio_description(message, audio):