Справочник Программиста
6.29K subscribers
1.36K photos
387 videos
64 files
1.71K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
#СозданиеУведомленийЧерезТелеграмБота
Код из видео:

Уведомления.py
from notifiers import get_notifier
import time
from TOKEN import token, chatId

while True:
what = input('О чём напомнить?\nДля выхода отправьте \'exit\'\n')
if what == 'exit':
break
else:
t = input('Через сколько минут напомнить?\n')
t = int(t) * 60
time.sleep(t)
telegram = get_notifier('telegram')
telegram.notify(token=token, chat_id=chatId, message=what)

TOKEN.py
token = 'Токен вашего бота'
chatId = (Id вашего чата)
Уже 20 минут длится обработка видео.
Всё, видос на канале ;)
#БазаДанныхВPython
Код из видео:

import sqlite3

conn = sqlite3.connect('example.db')

cur = conn.cursor()

cur.execute('''CREATE TABLE IF NOT EXISTS товары (дата text, товар text, количество real, цена real)''')

cur.execute("INSERT INTO товары VALUES ('2021-11-12', 'Журнал', 100, 200)")

products = [('2021-11-13', 'Ручка', 100, 30),
('2021-11-14', 'Тетрадь', 100, 50),
('2021-11-15', 'Мел', 100, 15),
]

cur.executemany("INSERT INTO товары VALUES (?, ?, ?, ?)", products)

cur.execute("SELECT * FROM товары")

for i in cur.fetchall():
print(i)

conn.commit()

conn.close()
#СкачиваниеФайловЧерезPython
Код из видео:

# 1 Способ
import urllib.request
url = 'ссылка'
urllib.request.urlretrieve(url, 'image.png')


# 2 Способ
import requests
url = 'ссылка'
r = requests.get(url)
with open('image.png', 'wb') as f:


# 3 Способ
import wget
url = 'ссылка'
wget.download(url, 'image.png')
#КошелёкНаPython
Код из видео:

def record(total):
with open('text.txt', 'w') as txt:
txt.write(str(total))
print('Баланс обновлён: ', total)

def readd(operation):
with open('text.txt', 'r') as txt:
txt = txt.read()
balance = float(txt)

if operation == 'д':
howMany = float(input('Сколько: '))
record(float(txt) + howMany)
elif operation == 'о':
howMany = float(input('Сколько: '))
record(float(txt) - howMany)
elif operation == 1:
print('На балансе ' + str(balance) + 'руб \n')


while True:
readd(1)
readd(input('Добавить/Отнять\n Д/О: ').lower())
#ПриложениеКонвертерPDFВWord
Код из видео:

from tkinter import *
from tkinter import filedialog as fd
from pdf2docx import parse
import pathlib


def callback():
name = fd.askopenfilename()
ePath.config(state='normal')
ePath.delete('1', END)
ePath.insert('1', name)
ePath.config(state='readonly')


def convert():
pdf_file = ePath.get()
word_file = pathlib.Path(pdf_file)
word_file = word_file.stem + '.docx'
parse(pdf_file, word_file)
Label(root, text='Конвертация завершена', fg='lime', bg='black', font='Arial 15 bold').pack(pady=10)


root = Tk()
root.title('Конвертер PDF в Word')
root.geometry('400x300+300+300')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Button(root, text='Выбрать PDF файл', font='Arial 15 bold',
fg='lime', bg='black', command=callback).pack(pady=10)

lbPath = Label(root, text='Путь к файлу:', fg='lime', bg='black', font='Arial 15 bold')
lbPath.pack()

ePath = Entry(root, width=50, state='readonly')
ePath.pack(pady=10)

btnConvert = Button(root, text='Конвертировать',
fg='lime', bg='black', font='Arial 15 bold', command=convert).pack(pady=10)


root.mainloop()
👍2
#КалькуляторКвадратныхУравнений
Код из видео:

from tkinter import *
from math import sqrt


def solver(a, b, c):
D = b * b - 4 * a * c
if D >= 0:
x1 = (-b + sqrt(D)) / (2 * a)
x2 = (-b - sqrt(D)) / (2 * a)
text = 'D = %s \n x1 = %s \n x2 = %s \n' % (D, x1, x2)
else:
text = 'D = %s \n Это уравнени не имеет корней' % D
return text


def inserter(value):
output.delete('0.0', END)
output.insert('0.0', value)


def handler():
try:
a_val = float(a.get())
b_val = float(b.get())
c_val = float(c.get())
inserter(solver(a_val, b_val, c_val))
except ValueError:
inserter('Убедитесь, что ввели 3 числа')


root = Tk()
root.title('Калькулятор квадратных уравнений')
root.geometry('420x200+300+300')
root.resizable(width=False, height=False)
f_top = Frame(root)
f_bot = Frame(root)
f_top.pack()
f_bot.pack()

a = Entry(f_top, width=5, font='Arial 15')
a.pack(side=LEFT, pady=10, padx=10)

a_lab = Label(f_top, text='x^2 +', font='Arial 15').pack(side=LEFT, pady=10)

b = Entry(f_top, width=5, font='Arial 15')
b.pack(side=LEFT, pady=10)

b_lab = Label(f_top, text='x +', font='Arial 15').pack(side=LEFT, pady=10)

c = Entry(f_top, width=5, font='Arial 15')
c.pack(side=LEFT, pady=10)

c_lab = Label(f_top, text='= 0', font='Arial 15').pack(side=LEFT, pady=10)

btn = Button(f_top, text='Решить', font='Arial 12 bold', command=handler).pack(side=LEFT, pady=10, padx=10)

output = Text(f_bot, bg='black', fg='lime', font='Arial 12')
output.pack(expand=1, fill=BOTH, side=LEFT)

root.mainloop()
#ПоискЭлементаВСписке
Код из видео:

# №1 Используя метод count

colors = ['black', 'yellow', 'grey', 'brown']

if colors.count('yellow'):
print("Элемент найден!")

# №2 С помощью цикла for

for color in colors:
if color == 'yellow':
print('Элемент найден!')

# №3 Используя оператор in

if 'yellow' in colors:
print('Элемент найден!')

# №4 С помощью лямбда функции

filtering = list(filter(lambda x: 'yellow' in x, colors))
print(filtering)

# №5 Используя функцию any
И создаём условие
if any(color in 'yellow' for color in colors):
print('Элемент найден!')
#КонвертацияИзображенияВPDF
Код из видео:

import img2pdf

page_size = [img2pdf.in_to_pt(8.3), img2pdf.in_to_pt(11.7)]
layout = img2pdf.get_layout_fun(page_size)

pdf = img2pdf.convert('путь к изображению', layout_fun=layout)
with open('pdfTest.pdf', 'wb') as f:
f.write(pdf)
👍1
#ГенераторКаптчи
Код из видео:

from captcha.image import ImageCaptcha
from random import choice

a = int(input('Введите количество символов в каптче: '))

alphabet = ['1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g',
'h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w',
'x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

pattern = []

for i in range(a):
pattern.append(choice(alphabet))
print(pattern)
image_captcha = ImageCaptcha(width=300, height=200)
image_captcha.write(pattern, 'captcha.png')