options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(
executable_path="chromedriver",
options=options
import math
def arg_min(T, S):
amin = -1
m = math.inf # максимальное значение
for i, t in enumerate(T):
if t < m and i not in S:
m = t
amin = i
return amin
D = ((0, 3, 1, 3, math.inf, math.inf),
(3, 0, 4, math.inf, math.inf, math.inf),
(1, 4, 0, math.inf, 7, 5),
(3, math.inf, math.inf, 0, math.inf, 2),
(math.inf, math.inf, 7, math.inf, 0, 4),
(math.inf, math.inf, 5, 2, 4, 0))
N = len(D) # число вершин в графе
T = [math.inf]*N # последняя строка таблицы
v = 0 # стартовая вершина (нумерация с нуля)
S = {v} # просмотренные вершины
T[v] = 0 # нулевой вес для стартовой вершины
M = [0]*N # оптимальные связи между вершинами
while v != -1: # цикл, пока не просмотрим все вершины
for j, dw in enumerate(D[v]): # перебираем все связанные вершины с вершиной v
if j not in S: # если вершина еще не просмотрена
w = T[v] + dw
if w < T[j]:
T[j] = w
M[j] = v # связываем вершину j с вершиной v
v = arg_min(T, S) # выбираем следующий узел с наименьшим весом
if v >= 0: # выбрана очередная вершина
S.add(v) # добавляем новую вершину в рассмотрение
#print(T, M, sep="\n")
# формирование оптимального маршрута:
start = 0
end = 4
P = [end]
while end != start:
end = M[P[-1]]
P.append(end)
print(P)
import telebot
import time
import threading
API_TOKEN = '11111111111111111111111111111111'
class my_bot(telebot.TeleBot):
def loop_poop(self):
while True:
print(time.ctime())
time.sleep(1)
def start_action(self):
thread = threading.Thread(target=self.loop_poop)
thread.start()
bot = my_bot(token = API_TOKEN, threaded=False)
@bot.message_handler(commands=['start'])
def wellcome(message):
if message.chat.type == 'private':
bot.send_message(message.chat.id,'Hello')
bot.start_action()
bot.polling()
from tkinter import *
import turtle as t
import time
import threading
class cat():
def __init__(self, кольор, прикраси_набор, прикраси):
global root
root = Tk()
root.iconbitmap(r"C:\\cat.ico")
root.resizable(0, 0)
root.title("cat home")
root.geometry("600x470")
print(root.winfo_rooty()+(270-root.winfo_rooty()))
w = Canvas(root, width=root.winfo_rootx()+(600-root.winfo_rootx()), \
height=root.winfo_rooty()+(470-root.winfo_rooty()))
w.grid()
self.windows = w
self.red = t.TurtleScreen(self.windows)
світ_image = r"C:\\спрайти\\кіт\\світ2.gif"
self.red.addshape(світ_image)
self.світ = t.RawTurtle(self.red)
self.світ.shape(світ_image)
self.світ.up()
self.color = кольор
self.прикраси = прикраси
self.image = (r"C:\\спрайти\\кіт\\кіт %s.gif" % кольор)
print(self.image)
self.id = t.RawTurtle(self.red)
self.red.addshape(self.image)
self.id.shape(self.image)
self.id.up()
self.id.speed(2)
print(str(len(self.прикраси)+1) + str(self.прикраси))
for r in range(0, len(self.прикраси)):
self.прикраси[r] = t.RawTurtle(self.red)
self.прикраси[r].speed(100)
self.image_прикраса = (r"C:\\спрайти\\кіт\\прикраса %s.gif" % прикраси_набор[r])
self.red.addshape(self.image_прикраса)
self.прикраси[r].shape(self.image_прикраса)
self.прикраси[r].up()
if прикраси_набор[r] == "бант":
self.прикраси[r].left(-90)
self.прикраси[r].forward(10)
self.прикраси[r].left(90)
self.прикраси[r].forward(13)
self.прикраси[r].speed(2)
self.id.setheading(90)
self.id.forward(-10)
self.id.setheading(-90)
self.прикраси[r].setheading(-90)
self.x = 0
self.y = 0
self.start_action()
def loop_poop(self):
while True:
print(time.ctime())
time.sleep(1)
def start_action(self):
thread = threading.Thread(target=self.loop_poop)
thread.start()
def Left(self, evt):
try:
up = -35
self.x -= 35
self.світ.forward(up)
except RecursionError:
pass
def right(self, evt):
try:
up = 35
self.x += up
self.світ.forward(up)
except RecursionError:
pass
def jump(self, evt):
up = 18
self.y += up
self.id.forward(0-up)
for r in range(0, len(self.прикраси)):
self.прикраси[r].forward(0-up)
time.sleep(0.6)
self.id.forward(up)
for r in range(0, len(self.прикраси)):
self.прикраси[r].forward(up)
self.y -= up
red = cat("рудий", ["бант"], [1])
global root
root.bind('<Right>', red.Left)
root.bind('<Left>', red.right)
root.bind('<Up>', red.jump)
root.mainloop()
import telebot
from telebot import types
token = bottoken
bot = telebot.TeleBot(token)
bot.polling()
#Все хендлеры
@bot.message_handler(commands=['start'])
def welcome(message):
#Все коллбеки без elif а нормально читаемые
@bot.callback_query_handler(func=lambda call: call.data == '7')
def seven(call):
bot.send_message(call.message.chat.id,text = 'seven')
@bot.callback_query_handler(func=lambda call: call.data == '1')
def one(call):
bot.send_message(call.message.chat.id,text = 'one')
type_of_choice = int(input('Type: '))
num = int(input("Quantity of passwords: "))
length = int(input("Length of password: "))
#
# Оооооочень удобно использовать jupyter notebook
#
# Beautifulsoup я не использую
#
# Selenium тоже многое умеет
# но это твой выбор
#
#
def find_all_links():
time.sleep(2)
posts=[]
links = driver.find_elements_by_tag_name('a')
for link in links:
post = link.get_attribute('href')
if '/p/' in post:
posts.append( post )
return posts
posts = []#Для хранения результата
def scroll_end():#Перемотка до конца страницы
lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
match=False
global posts
while(match==False):
lastCount = lenOfPage
time.sleep(3)
lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
print(lenOfPage)
if lastCount==lenOfPage:#Если доскролили до конца
match=True
psts = find_all_links()#Выполняю поиск того что мне надо
posts += psts#Результат добавляю
print(len(posts))#слежу за тем что происходит
scroll_end()
from tkinter import *
import time
import os
root = Tk()
frameCnt = 12
frames = [PhotoImage(file='1.gif',format = 'gif -index %i' %(i)) for i in range(frameCnt)]
def update(ind):
frame = frames[ind]
ind += 1
if ind == frameCnt:
ind = 0
label.configure(image=frame)
root.after(100, update, ind)
label = Label(root)
label.pack()
root.after(0, update, 0)
root.mainloop()
@bot.callback_query_handler(func=lambda call: call.data == '7')
def seven(call):
bot.send_message(call.message.chat.id,text = 'seven')
@bot.callback_query_handler(func=lambda call: call.data == '1')
def one(call):
bot.send_message(call.message.chat.id,text = 'one')
import json
user = {}
for _ in range(10):
user[str(_)] = [i for i in range(2,6)]
with open('users.json','w',encoding='UTF-8') as json_file:
json.dump(user,json_file,indent=8)
with open('users.json',encoding='UTF-8') as json_file:
jsob = json.load(json_file, encoding='UTF-8')
for _ in range(10):
print(_,jsob[str(_)])
#Создай отдельный файл с классом типа этого
# импортируй from my_baza_class import base as b
#В своём коде вставляй где хочешь
#Пример внизу
#
import sqlite3
class base:
def __init__(self,table):
self.table = table
self.conn = sqlite3.connect("mydatabase.db")
self.cursor = self.conn.cursor()
print("Open DB")
def __del__(self):
print("CloseDB")
def insert(self, full_name,last_name):
sql = f"INSERT INTO {self.table} VALUES (null,'{full_name}', '{last_name}') "
self.cursor.execute(sql)
self.conn.commit()
print('INSERT DONE')
def select(self):
res=[]
sql = f"SELECT * FROM {self.table}"
for _ in self.cursor.execute(sql):
res.append(str(_[0]) +' '+ str(_[1])+' '+str(_[2]))
print('SELECT DONE')
return res
def create_table(self):
try:
self.cursor.execute(f"""CREATE TABLE IF NOT EXISTS {self.table}
(id integer primary key AUTOINCREMENT, full_name text, last_name text)
""")
self.conn.commit()
print('CREATE TABLE DONE')
except Exception as e:
print('ERROR')
#b = base('users')
#b.create_table()
#for x in range(1,4):
# b.insert(f'full_name{x}',f'last_name{x}')
#x = b.select()
#print(x)