Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3468 posts.

Python для новичков » pysocks и smtplib » Май 18, 2023 15:32:22

Доброго времени суток уважаемые форумчане! Прошу помощи у сообщества в решении следующей проблемы, перестала работать smtp либа через pysocks. В ОС windows server 2016 получаю ошибку: Socket error: timed out, в Ubuntu 22.10 ошибка: PySocks doesn't support IPv6: ('2a02:6b8::19d', 58397, 0, 0). Раньше таких проблем не наблюдалось, установлен python 3.10.
Код прилагаю.
 import socket
import socks
import  smtplib
r = 'smtp.yandex.ru:465:XXXXXXX:XXXXXXXX'
server, port, login, password = r.split(':')
p = ['38.91.107.2:58397', '134.255.219.126:2016', '185.239.237.49:2016']
for ipp in p:
   try:
        ip, port = ipp.split(':')
        socks.setdefaultproxy(socks.SOCKS5, ip, int(port), True)
        socket.socket = socks.socksocket
        socks.wrapmodule(smtplib)
        if port == str(465):
            smtp = smtplib.SMTP_SSL(server, port, timeout=10)
            smtp.ehlo_or_helo_if_needed()
        else:
            smtp = smtplib.SMTP(server, port, timeout=10)
            smtp.ehlo_or_helo_if_needed()
            smtp.starttls()
            smtp.ehlo_or_helo_if_needed()
        req = smtp.login(login, password)
        print(f"Received {req!r}")
   except Exception as e:
       print(e)
       continue

Центр помощи » При попытке изобразить граф с помощью nx.draw(g) и plt.show() выдаёт кучу ошибок » Май 9, 2023 14:21:12

Вот сам код:
import matplotlib.pyplot as plt
import networkx as nx

G = nx.Graph()
nodes =
edges =
G.add_nodes_from(nodes)
G.add_edges_from(edges)
nx.draw(G, with_labels=True, font_weight='bold')
plt.show()

А вот ошибки, которые он мне выдаёт
error reading package index file CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/pkgIndex.tcl: invalid command name “ ”
Traceback (most recent call last):
File “C:\Users\chesn\PycharmProjects\pythonProject\main.py”, line 9, in <module>
nx.draw(G, with_labels=True, font_weight='bold')
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\networkx\drawing\nx_pylab.py”, line 108, in draw
cf = plt.gcf()
^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\pyplot.py”, line 906, in gcf
return figure()
^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\_api\deprecation.py”, line 454, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\pyplot.py”, line 840, in figure
manager = new_figure_manager(
^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\pyplot.py”, line 384, in new_figure_manager
return _get_backend_mod().new_figure_manager(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\backend_bases.py”, line 3574, in new_figure_manager
return cls.new_figure_manager_given_figure(num, fig)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\backend_bases.py”, line 3579, in new_figure_manager_given_figure
return cls.FigureCanvas.new_manager(figure, num)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\backend_bases.py”, line 1742, in new_manager
return cls.manager_class.create_with_canvas(cls, figure, num)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\PycharmProjects\pythonProject\venv\Lib\site-packages\matplotlib\backends\_backend_tk.py”, line 483, in create_with_canvas
window = tk.Tk(className=“matplotlib”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\chesn\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py”, line 2326, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_tkinter.TclError: Can't find a usable tk.tcl in the following directories:
CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tcl8.6/tk8.6 CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6 CUsers/chesn/AppData/Local/Programs/Python/lib/tk8.6 CUsers/chesn/AppData/Local/Programs/Python/lib/tk8.6 CUsers/chesn/AppData/Local/Programs/lib/tk8.6 CUsers/chesn/AppData/Local/Programs/Python/library

CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/tk.tcl: invalid command name “ ”
invalid command name “ ”
while executing
“ …”
(file “CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/msgs/ru.msg” line 1)
invoked from within
“::source -encoding utf-8 CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/msgs/ru.msg”
(in namespace inscope “::tk::msgcat” script line 1)
invoked from within
"namespace inscope $ns

  • (procedure ”Load“ line 34)
    invoked from within
    ”Load $ns “
    (procedure ”::msgcat::mcpackageconfig“ line 46)
    invoked from within
    ”::msgcat::mcpackageconfig set mcfolder CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/msgs“
    (”uplevel“ body line 1)
    invoked from within
    ”uplevel 1 [list set mcfolder $langdir]“
    (procedure ”::msgcat::mcload“ line 2)
    invoked from within
    ”::msgcat::mcload “
    (in namespace eval ”::tk::msgcat“ script line 23)
    invoked from within
    ”namespace eval msgcat {
    namespace export mc mcmax
    if { || } {
    # The msgcat package…“
    (in namespace eval ”::tk“ script line 3)
    invoked from within
    ”namespace eval ::tk {
    # Set up the msgcat commands
    namespace eval msgcat {
    namespace export mc mcmax
    if { || [catch {p…“
    (file ”CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/tk.tcl“ line 17)
    invoked from within
    ”source CUsers/chesn/AppData/Local/Programs/Python/Python311/tcl/tk8.6/tk.tcl“
    (”uplevel“ body line 1)
    invoked from within
    ”uplevel #0 "


    This probably means that tk wasn't installed properly.

Центр помощи » помогите пожалуйста срочно. табулирование функции с шагом » Май 7, 2023 01:07:33

Напишите пользовательскую функцию def lists_1_2(a,b,n), которая создает и возвращает два списка: Y(x)-функция и значения аргументов в заданном диапазоне с количеством секций n (a и b – действительные числа, n – целые).
Напишите пользовательскую функцию определения def karakteristiks_1_2(y_list), которая вычисляет и возвращает количество положительных значений y и их среднее арифметическое с утверждением «Количество положительных значений функции равно «+ str(k) +» и их среднее значение равно “+ str(round(kesk,2)), где k это количество положительных значений и kesk это их среднее арифметическое Если положительных значений функции нет, функция возвращает «Все значения функции отрицательные».
Напишите пользовательскую функцию def mainprogram(), которая запрашивает у пользователя значения переменных a, b и проверяет, меньше ли a, чем b. Запрос выполняется с текстами «Введите начало диапазона =>» и «Введите конец диапазона =>» соответственно. Если это не так, (a<b) сообщает об ошибке с текстом ”Ошибка: начало должно быть меньше конца!" и перестает работать. В противном случае он запрашивает значение n с текстом «Введите количество разделов =>» и вызывает пользовательскую функцию lists_1_2(a, b, n) для получения списков и выводит значения аргумента и функции в экран в виде таблицы с оператором print(x_list, ‘\t’, y_list). Заголовок таблицы — «Таблица аргументов и значений функций». Далее он обращается к пользовательской функции karakteristiks_1_2(у_list) и выводит этот результат на экран. все ответы округляются до сотых.
Должно быть вот так
Введите начало диапазона =>-5
Введите конец диапазона => 5
Введите количество разделов =>20
Таблица аргументов и значений функций
-5.0 -3.5
-4.5 0.0
-4.0 3.5
-3.5 -2.6
-3.0 2.24
-2.5 2.83
-2.0 1.76
-1.5 0.02
-1.0 -1.15
-0.5 -1.07
0.0 0.0
0.5 1.07
1.0 1.15
1.5 -0.02
2.0 -1.76
2.5 -2.83
3.0 -2.24
3.5 -0.1
4.0 2.9
4.5 0.33
5.5 -3.04
Количество положительных значений функции равно 9 и их среднее значение равно 1.76
здесь даны значения функции
https://moodle.taltech.ee/pluginfile.php/544054/mod_quiz/intro/image%20%283%29.png
должно быть как м моем варианте, но я его не доделал и он не хочет работать

Центр помощи » Помогите с решением задачи, работа с библиотеками » Апрель 22, 2023 12:59:52

обработайте наше изображение после взятия порога по среднему так чтобы остались только точки контура (к таковым относятся точки с яркостью больше нуля общим числом ярких соседей по горизонтали и вертикали меньшим 4) Помните, что значение белой точки - 255, черной - 0
Как я понял из примера, надо использовать что то типа
med = np.average(image)
image = (image > med) * 255
Image.fromarray(np.uint8(image))
только каким образом?

Центр помощи » MST (Minimum spanning tree) » Апрель 15, 2023 16:20:52

Добрый день! Помогите, пожалуйста, ищу кусок кода/функцию из библиотеки на python, которая сможет найти сумму веса ребер минимального оставного дерева (Minimum spanning tree), имея из данных координаты вершин графа, и считая что «вес» ребра равен длине между вершинами. Если кто-то умеет такое прогать и сделает, также большое спасибо!

Python проекты » Обрезка искаженных изображений » Апрель 8, 2023 00:53:12

Создал программу, которая сшивает изображения в панораму, и для сохранения масштабности программа искажает контуры результата. Осталось довести этот результат до конца.
Была идея найти крайние нулевые пиксели и обрезать фотку по ним, так получится прямоугольное изображение, уже без искажений контура, а так же при обрезке теряется минимальное количество информации.
Вот код, который должен это сделать, однако почему-то он не находит эти самые нулевые пиксели(

import numpy as np
from PIL import Image

def crop_image(img):
distorted_image = np.array(img)
first_zero_row = np.where(distorted_image.sum(axis=1) == 0)
first_zero_column = np.where(distorted_image.sum(axis=0) == 0)

# Обрезать искаженное изображение по первым нулевым пикселям, если они существуют
if first_zero_row.size > 0 and first_zero_column.size > 0:
cropped_image = distorted_image[:first_zero_row, :first_zero_column]
else:
cropped_image = distorted_image
return cropped_image

Если Вам не сложно, помогите доработать код, или может вообще начать заново.
Вот пример искаженного изображения:
Your text to link here…

Python для новичков » Тензор ограничивающих рамок объектов на изображении в формате (x1, y1, x2, y2) преобразует перевод в координаты изображения » Апрель 7, 2023 17:00:18

У меня есть тензор, и у меня проблемы с переводом в координаты на картинке (640,640), которые я перевел на сайте roboflow для наборов данных и перевел для модели yolov8
У меня есть свои собственные выходные тензоры, и их нужно перевести наоборот, то есть в координаты
Пример тензора:
0 0.09453125 0.90234375 0.1890625 0.1953125
Как их перевести в координаты в пиксели картинки, что это и как с ним работать?

Python для экспертов » работа с ctypes dll fortran » Апрель 3, 2023 13:40:42

Добрый день. Есть библиотека на фортране. Получили dll всех функций.
Есть функция
REAL*8 FUNCTION DGAUSS (F,A,B,EPS)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION W(12),X(12)
EXTERNAL F
Первым параметром идет вызов функции F
DOUBLE PRECISION FUNCTION F(X)
IMPLICIT REAL*8 (A-H,O-Z)
FCOS(X)**2
RETURN
END
Мне надо функцию DGAUSS использовать из Python.
Каким образом мне можно передать первый параметр, не могу найти ответ, и можно ли ?.
Нашла такой вариант, передача названия и длина 1 ,но он не работает.


 from ctypes import *
DLL = cdll.LoadLibrary('D103')
print(DLL)
DLL.dgauss_.argtypes = [POINTER(c_wchar_p),POINTER(c_int),POINTER(c_double), POINTER(c_double), POINTER(c_double)]
DLL.dgauss_.restype = c_double
DOBType = c_double
input1 = DOBType(1.0)
input2 = DOBType(2.0)
input3= DOBType(0.0)
order = c_wchar_p('f') 
num=c_int(1)
rez= DLL.dgauss_(order,num,input1,input2, input3)
print('  TEST PROGRAM D103 (DGAUSS)')
print(rez)
Кто знаком с этим, посоветуйте пожалуйста.
С уважением Л.В.

Центр помощи » Помогите доделать калькулятор » Март 31, 2023 20:45:35

 from tkinter import *
from decimal import *
root = Tk()
fr = Frame(root)
fr_but = Frame(root)
fr1 = Frame(root)
def pr_nt(set):
ent.insert(END,set)
def stir():
ent.delete(0,END)
ent = Entry(fr, text = 0, width=15,justify=CENTER)
b = Button(fr_but,width=1,height=1,text='1')
b1 = Button(fr_but,width=1,height=1,text='2')
b2 = Button(fr_but,width=1,height=1,text='3')
b3 = Button(fr_but,width=1,height=1,text='4')
b4 = Button(fr_but,width=1,height=1,text='5')
b5 = Button(fr_but,width=1,height=1,text='6')
b6 = Button(fr_but,width=1,height=1,text='7')
b7 = Button(fr_but,width=1,height=1,text='8')
b8 = Button(fr_but,width=1,height=1,text='9')
b9 = Button(fr_but,width=1,height=1,text='0')
b10 = Button(fr_but,width=1,height=1,text='/')
b11 = Button(fr_but,width=1,height=1,text='*')
b12 = Button(fr_but,width=1,height=1,text='-')
b13 = Button(fr_but,width=1,height=1,text='+')
b14 = Button(fr_but,width=1,height=1,text='=')
b15 = Button(fr_but,width=1,height=1,text='C', command=stir)
b.bind('<Button-1>', lambda event: pr_nt(1))
b1.bind('<Button-1>', lambda event: pr_nt(2))
b2.bind('<Button-1>', lambda event: pr_nt(3))
b3.bind('<Button-1>', lambda event: pr_nt(4))
b4.bind('<Button-1>', lambda event: pr_nt(5))
b5.bind('<Button-1>', lambda event: pr_nt(6))
b6.bind('<Button-1>', lambda event: pr_nt(7))
b7.bind('<Button-1>', lambda event: pr_nt(8))
b8.bind('<Button-1>', lambda event: pr_nt(9))
b9.bind('<Button-1>', lambda event: pr_nt(0))
b10.bind('<Button-1>')
b11.bind('<Button-1>')
b12.bind('<Button-1>')
b13.bind('<Button-1>')
b14.bind('<Button-1>')
b15.bind('<Button-1>')
fr.pack()
ent.pack()
fr_but.pack()
b6.grid(row=0,column=0)
b7.grid(row=0,column=1)
b8.grid(row=0,column=2)
b3.grid(row=1,column=0)
b4.grid(row=1,column=1)
b5.grid(row=1,column=2)
b.grid(row=2,column=0)
b1.grid(row=2,column=1)
b2.grid(row=2,column=2)
b9.grid(row=3,column=1)
b10.grid(row=0,column=3)
b11.grid(row=1,column=3)
b12.grid(row=2,column=3)
b13.grid(row=3,column=3)
b14.grid(row=3,column=2)
b15.grid(row=3,column=0)
fr1.pack()
root.mainloop()


Доделайте калькулятор на основе этого пожалуйста

Python для новичков » помощь по авторизации » Март 22, 2023 19:01:18

Добрый вечер!
Помогите пожалуйста с кодом на Python, согласно описанию, как получить значения переменных:

Формат дат
Даты должны обязательно быть в формате IMF-fixdate, согласно RFC 7231
Nonce в вычислениях
Дата преобразовывается в Base-64 строку, согласно RFC 7616
Действительность запросов

За имлементацию Digest следует принять последний RFC 7616, где:
HA1 = SHA256(“{username}:{realm}:{password}”)
HA2 = SHA256(“{method}:{rel-uri}”)
nonce=base64(current date)
response = SHA256(“{HA1}:{nonce}:{HA2}”)

Python для экспертов » Какие самые лучшие языковые модели аналог GPT-3? которые можно грузить использовать on premise?  » Март 20, 2023 10:27:32

Какие самые лучшие языковые модели аналог GPT-3? которые можно грузить использовать on premise?

Python для новичков » Вклинить отправление картинки в бот для Discord » Март 16, 2023 22:36:10

Приветствую. Я понимаю, что сейчас буду выглядеть как фрик, но не издевайтесь пожалуйста, ахах. Я только неделю изучаю Python, хочу и наверняка буду разбираться во всём со временем, но сейчас я полный ноль. Где-то в интернете нашёл код на бота для дискорда (как мне уже сказали, очень кривой код и хз как он работает), но он работает. В общем, принцип такой: запускается .py, вводишь токен, ссылку на канал и время в секундах сколько будет пауза между сообщениями.
Со своим минимальным пониманием что там вообще написано, я пытался ковыряться, но ничего не работает. Когда я добавляю что-то своё в код, программа даже не запускается.

Какая задача стоит: сделать так, чтобы при запуске программы она сразу же начала спамить в канал с уже указанным таймингом в 1860 секунд, либо нужно было нажать всего 1 кнопку для этого. (Грубо говоря, чтобы в самом коде уже был прописан токен, ссылка и тайминг). Я пытался кидать ссылку на картинку в файлик “MSG.txt”, но это очень некрасиво выглядит в самом сообщении и чаще всего даже картинка не появляется, только ссылка. Я видел что можно через код добавить ссылку на картинку которая сохранена на компьютер, но я так к сожалению и не разобрался как этот код вклинить в программу. Нужно чтобы отправлялось сообщение из MSG.txt вместе с картинкой, воот..

И правда, если я сейчас выгляжу нагло и тупо, не кидайтесь камнями пожалуйста. Я впервые вообще взаимодействую со всей этой сферой и не знаю что и как у вас тут устроено, кроме одного - что таких типов как я не особо любят Заранее спасибо за понимание и помощь (если конечно будет желание и возможность помочь).

 from random import choice
import requests as r
import time
s = r.Session()
s.headers['authorization'] = input('Token: ')
fname = 'msg.txt'
with open(fname, encoding='utf-8') as fin:
    text = fin.read()
chat_id = input('Input chat id: ')
delay = int(input('Delay between messages in seconds: '))
total_sent = 0
while True:
    try:
        msg = text
        print(f'Sending message {msg}')
        _data = {'content': msg, 'tts': False}
        resp = s.post(
            f'https://discord.com/api/v9/channels/{chat_id}/messages', json=_data).json()
        msg_id = resp['id']
        total_sent += 1
        print(f'Message sent (Already {total_sent} in total).')
        print(f'Sleeping {delay} seconds')
        time.sleep(delay)
    except Exception as e:
        print(f'Some error: {e}')
        time.sleep(20)]

Python для новичков » Постепенная анимация роста » Март 16, 2023 15:17:32

Здравствуйте, нужно сделать чтобы при открытие программы, показывало видео, на котором растёт дерево, при запуске рост достигает 1 стадии, при нажатие кнопки, чтобы дерево еще больше выросло, еще раз нажать на кнопку, еще больше выросло, и так 10 раз. Реализовал с помощью tkinter, но при нажатие кнопки картинка мигает, появляется белый фон на секунду, что не очень красиво выглядит

 from tkinter import *
from tkVideoPlayer import TkinterVideo
num = 1
home = Tk()
home.geometry("500x500+500+200")
home.title("1 LVL")
videoplayer = TkinterVideo(master=home, scaled=True)
def print_key(event):
    global num
    args = event.keysym, event.keycode, event.char
    print("Знак: {}, Код: {}, Символ: {}".format(*args))
    if event.keycode == 87: # KEY   W
        if num != 10:
            num += 1
            home.title(f"{num} LVL")
            play_video(num)
    elif event.keycode == 83: # KEY   S
        if num != 1:
            num -= 1
            home.title(f"{num} LVL")
            play_video(num)
def play_video(num):
    videoplayer.load(f"UpGrow/{num}.mp4")
    videoplayer.pack(expand=True, fill="both")
    videoplayer.play()
home.bind("<Key>", print_key)
play_video(1)
home.mainloop()

Как сделать чтобы этого мигания не было?

Python для новичков » Как сделать чтобы бот ждал сообщения от пользователя, а не выполнял команду сразу? » Март 13, 2023 11:29:05

Не даёт ввести пользователю значение, а сразу обновляет и заносит команду, которую юзер использует для активации функции в качестве введенного значение.

import json
import requests

TOKEN = “” # Replace with your bot token

points = 0
task_list =

def add_task(chat_id):
message = “Type the task you want to add to your list:”
send_message(chat_id, message)
# Wait for response
while True:
updates = get_updates()
if len(updates) > 0:
task = updates
task_list.append({“task”: task, “completed”: False})
message = “Task added: {}”.format(task)
send_message(chat_id, message)
break

def print_tasks(chat_id):
if len(task_list) == 0:
message = “No tasks added yet!”
send_message(chat_id, message)
else:
for i, task in enumerate(task_list):
status = “Incomplete”
if task:
status = “Complete (+1 point)”
message = “{}) {} - {}”.format(i+1, task, status)
send_message(chat_id, message)

def mark_complete(chat_id):
message = “Enter task number to mark as complete:”
send_message(chat_id, message)
# Wait for response
while True:
updates = get_updates()
if len(updates) > 0:
task_num = int(updates)
task_list = True
global points
points += 1
message = “Task marked as complete, you now have {} points!”.format(points)
send_message(chat_id, message)
break

def view_outstanding(chat_id):
incomplete_tasks = [task for task in task_list if not task]
if len(incomplete_tasks) == 0:
message = “All tasks completed!”
else:
message = “Outstanding tasks:\n”
for i, task in enumerate(incomplete_tasks):
message += “{}) {}\n”.format(i+1, task)
send_message(chat_id, message)

def view_points(chat_id):
message = “You have earned {} points!”.format(points)
send_message(chat_id, message)

def save_data():
with open(“task_list.json”, “w”) as f:
data = {“points”: points, “tasks”: task_list}
json.dump(data, f)
print(“Data saved successfully!”)

def get_updates():
url = "https://api.telegram.org/bot{}/getUpdates".format(TOKEN)
response = requests.get(url)
data = response.json()
updates = data
return updates

def send_message(chat_id, message):
url = "https://api.telegram.org/bot{}/sendMessage“.format(TOKEN)
params = {”chat_id“: chat_id, ”text“: message}
response = requests.post(url, data=params)
print(response.status_code, response.content)

# Try to load saved data, if it exists
try:
with open(”task_list.json“, ”r") as f:
data = json.load(f
)
points = data
task_list = data
print(“Data loaded successfully!”)
except:
print(“No saved data found.”)

# Main loop
while True:
updates = get_updates()
if len(updates) > 0:
last_update_id = updates
# Process each message since last update
for update in updates:
message = update
chat_id = update

if message == “/start”:
send_message(chat_id, “Welcome to the Task Manager bot!”)
elif message == “/add”:
add_task(chat_id)
elif message == “/view”:
print_tasks(chat_id)
elif message == “/complete”:
mark_complete(chat_id)
elif message == “/points”:
view_points(chat_id)
elif message == “/outstanding”:
view_outstanding(chat_id)

# Mark last update as read
url = "https://api.telegram.org/bot{}/getUpdates?offset={}".format(TOKEN, last_update_id+1)
requests.get(url)

Python для новичков » как максимально укорить модель детектирования лиц retinaface или аналог?  » Март 10, 2023 08:16:05

как максимально укорить модель детектирования лиц retinaface или аналог?

Python для новичков » Какой самый быстрый способ разобрать видеофайл на фреймы? Быстрее чем реальное время. cv2 работает слишком медленно » Март 10, 2023 08:11:33

Вот этот пример работает слишком медленно
 cap = cv2.VideoCapture('video.mp4')
while(cap.isOpened()):
 ret, frame = cap.read()
  if ret == True:

Python проекты » Игра - Snake (консольная графика) » Март 7, 2023 17:33:06

Привет. Пытался сделать игру без дополнительных библиотек, но пришлось использовать pynput. Может кто подсказать как отслеживать нажатия клавишь возможностями из коробки?

Python для новичков » Python and Excel » Март 5, 2023 11:36:20

Всем доброго дня!!!
В столбце “С” содержится информация из 10 и более символов, необходимо получить первые 10 символов из этого столбца всех строк и перенести, скопировать (записать) их в новый документ эксель.

import openpyxl

wb = openpyxl.load_workbook(“sample — копия.xlsx”)
type(wb)

sheet = wb.active

rows = sheet.max_row
cols = sheet.max_column

for row in sheet:
string = ‘'
for cell in row:
string = string + str(cell.value) + ’ '
print(string)

Python для новичков » Разделние сплошного текста на слова » Март 5, 2023 09:06:25

Прошу подсказать библиотеку или примерный алгоритм(не обязательно с кодом, просто ход мыслей) для решения задачи из темы.
Есть сплошной текст без пробелов на русском языке. Даже если будут иногда ошибки - не страшно.
На входе строка, на выходе тоже строка.

IN: Довстречистобой
OUT: До встречи с тобой
IN: Разбежавшисьпрыгнусоскалы
OUT: Разбежавшись прыгну со скалы