#КалькуляторКвадратныхУравнений
Код из видео:
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()
Код из видео:
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('Элемент найден!')
Код из видео:
# №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)
Код из видео:
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')
Код из видео:
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')
#ИзвлечениеБуквИзСтроки
Код из видео:
# 1 способ
str1 = "7953abcd[)12!zfee"
print ("Изначальная строка: ", str1)
char = ""
for i in str1:
if i.isalpha():
char = "".join([char, i])
print ("Буквы: ", str(char))
# 2 способ
import re
str1 = "7953abcd[)12!zfee"
print("Изначальная строка: ", str1)
char = "".join(re.findall("[a-zA-Z]+", str1))
numbers = "".join(re.findall('\d+', str1))
print("Буквы: ", str(char))
print("Цифры: ", numbers)
# 3 способ
import re
str1 = "7953abcd[)12!zfee"
print ("Изначальная строка: ", str1)
char = "".join(re.split("[^a-zA-Z]*", str1))
print ("Буквы: ", str(char))
Код из видео:
# 1 способ
str1 = "7953abcd[)12!zfee"
print ("Изначальная строка: ", str1)
char = ""
for i in str1:
if i.isalpha():
char = "".join([char, i])
print ("Буквы: ", str(char))
# 2 способ
import re
str1 = "7953abcd[)12!zfee"
print("Изначальная строка: ", str1)
char = "".join(re.findall("[a-zA-Z]+", str1))
numbers = "".join(re.findall('\d+', str1))
print("Буквы: ", str(char))
print("Цифры: ", numbers)
# 3 способ
import re
str1 = "7953abcd[)12!zfee"
print ("Изначальная строка: ", str1)
char = "".join(re.split("[^a-zA-Z]*", str1))
print ("Буквы: ", str(char))
👍1
#СинтезРечиНаPython
Код из видео:
import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('volume', 0.9)
engine.say("I can speak!")
engine.say("Я могу говорить!")
engine.runAndWait()
# Узнаем доступные голоса и их параметры
voices = engine.getProperty('voices')
for voice in voices:
print('------')
print(f'Имя: {voice.name}')
print(f'ID: {voice.id}')
print(f'Язык(и): {voice.languages}')
print(f'Пол: {voice.gender}')
print(f'Возраст: {voice.age}')
# Добавление голосов по id
en_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0"
en_voice_id_David = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0"
ru_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_RU-RU_IRINA_11.0"
engine.setProperty('voice', en_voice_id)
engine.say('Hello World.')
engine.setProperty('voice', en_voice_id_David)
engine.say('Hello World.')
engine.setProperty('voice', ru_voice_id)
engine.say('Привет, Мир.')
engine.runAndWait()
# Программа, которая озвучивает системное время
from datetime import datetime, date, time
import pyttsx3
import time
ru_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_RU-RU_IRINA_11.0"
engine = pyttsx3.init()
engine.setProperty('voice', ru_voice_id)
def say_time(msg):
engine.say(msg)
engine.runAndWait()
time_checker = datetime.now()
say_time(f'Время: {time_checker.hour} часа {time_checker.minute} минуты.')
Код из видео:
import pyttsx3
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('volume', 0.9)
engine.say("I can speak!")
engine.say("Я могу говорить!")
engine.runAndWait()
# Узнаем доступные голоса и их параметры
voices = engine.getProperty('voices')
for voice in voices:
print('------')
print(f'Имя: {voice.name}')
print(f'ID: {voice.id}')
print(f'Язык(и): {voice.languages}')
print(f'Пол: {voice.gender}')
print(f'Возраст: {voice.age}')
# Добавление голосов по id
en_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0"
en_voice_id_David = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_DAVID_11.0"
ru_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_RU-RU_IRINA_11.0"
engine.setProperty('voice', en_voice_id)
engine.say('Hello World.')
engine.setProperty('voice', en_voice_id_David)
engine.say('Hello World.')
engine.setProperty('voice', ru_voice_id)
engine.say('Привет, Мир.')
engine.runAndWait()
# Программа, которая озвучивает системное время
from datetime import datetime, date, time
import pyttsx3
import time
ru_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_RU-RU_IRINA_11.0"
engine = pyttsx3.init()
engine.setProperty('voice', ru_voice_id)
def say_time(msg):
engine.say(msg)
engine.runAndWait()
time_checker = datetime.now()
say_time(f'Время: {time_checker.hour} часа {time_checker.minute} минуты.')
😍1
#РаботаСzip-архивами
Код из видео:
# Чтение архива
import zipfile
file_zip = zipfile.ZipFile("info.zip", "r")
for file_info in file_zip.infolist():
print(file_info.filename, file_info.date_time, file_info.file_size)
file_zip.close()
# Извлечение файлов из архива
import zipfile
file_zip = zipfile.ZipFile('info1.zip')
file_zip.extractall('./')
file_zip.close()
# Добавление файла в zip-архив
import zipfile
file_zip = zipfile.ZipFile('info.zip', 'w')
file_zip.write('info/inform.txt')
print('Файлы добавлены!')
file_zip.close()
# Добавление большего количества файлов с определённым расширением
import os
import zipfile
file_zip = zipfile.ZipFile('info_one.zip', 'w')
for folder, subfolders, files in os.walk('путь к папке с .txt файлами'):
for file in files:
if file.endswith('.txt'):
file_zip.write(os.path.join(folder, file),
os.path.relpath(os.path.join(folder, file), 'путь к папке с .py файлом'),
compress_type=zipfile.ZIP_DEFLATED)
file_zip.close()
# Проверка, является файл zip-архивом
import zipfile
test_files = ['zip.py', 'newInform.zip']
for file in test_files:
print('ZIP status for {0}: {1}'.format(file, zipfile.is_zipfile(file)))
Код из видео:
# Чтение архива
import zipfile
file_zip = zipfile.ZipFile("info.zip", "r")
for file_info in file_zip.infolist():
print(file_info.filename, file_info.date_time, file_info.file_size)
file_zip.close()
# Извлечение файлов из архива
import zipfile
file_zip = zipfile.ZipFile('info1.zip')
file_zip.extractall('./')
file_zip.close()
# Добавление файла в zip-архив
import zipfile
file_zip = zipfile.ZipFile('info.zip', 'w')
file_zip.write('info/inform.txt')
print('Файлы добавлены!')
file_zip.close()
# Добавление большего количества файлов с определённым расширением
import os
import zipfile
file_zip = zipfile.ZipFile('info_one.zip', 'w')
for folder, subfolders, files in os.walk('путь к папке с .txt файлами'):
for file in files:
if file.endswith('.txt'):
file_zip.write(os.path.join(folder, file),
os.path.relpath(os.path.join(folder, file), 'путь к папке с .py файлом'),
compress_type=zipfile.ZIP_DEFLATED)
file_zip.close()
# Проверка, является файл zip-архивом
import zipfile
test_files = ['zip.py', 'newInform.zip']
for file in test_files:
print('ZIP status for {0}: {1}'.format(file, zipfile.is_zipfile(file)))
#КонвертерВалют
Код из видео:
from currency_converter import CurrencyConverter
from tkinter import *
def exchange():
e_usd.delete(0, END)
e_eur.delete(0, END)
e_gbp.delete(0, END)
e_usd.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'USD'))
e_eur.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'EUR'))
e_gbp.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'GBP'))
root = Tk()
root.title('Конвертер валют')
root.geometry('300x250+300+300')
root.resizable(width=False, height=False)
root['bg'] = 'black'
c = CurrencyConverter()
header_frame = Frame(root)
header_frame.pack(fill=X)
header_frame.grid_columnconfigure(0, weight=1)
header_frame.grid_columnconfigure(1, weight=1)
header_frame.grid_columnconfigure(2, weight=1)
h_currency = Label(header_frame, text='Валюта', bg='black', fg='lime', font='Arial 12 bold')
h_currency.grid(row=0, column=0, sticky=EW)
h_course = Label(header_frame, text='Курс', bg='black', fg='lime', font='Arial 12 bold')
h_course.grid(row=0, column=1, columnspan=2, sticky=EW)
# USD курс
usd_currency = Label(header_frame, text='USD', font='Arial 10')
usd_currency.grid(row=1, column=0, sticky=EW)
usd_one = Label(header_frame, text='1', font='Arial 10')
usd_one.grid(row=1, column=1, sticky=EW)
usd_converted = Label(header_frame, text='%.2f' % c.convert(1, 'USD', 'RUB'), font='Arial 10')
usd_converted.grid(row=1, column=2, sticky=EW)
# EUR курс
eur_currency = Label(header_frame, text='EUR', font='Arial 10')
eur_currency.grid(row=2, column=0, sticky=EW)
eur_one = Label(header_frame, text='1', font='Arial 10')
eur_one.grid(row=2, column=1, sticky=EW)
eur_converted = Label(header_frame, text='%.2f' % c.convert(1, 'EUR', 'RUB'), font='Arial 10')
eur_converted.grid(row=2, column=2, sticky=EW)
# GBP курс
gbp_currency = Label(header_frame, text='GPB', font='Arial 10')
gbp_currency.grid(row=3, column=0, sticky=EW)
gbp_one = Label(header_frame, text='1', font='Arial 10')
gbp_one.grid(row=3, column=1, sticky=EW)
gbp_converted = Label(header_frame, text='%.2f' % c.convert(1, 'GBP', 'RUB'), font='Arial 10')
gbp_converted.grid(row=3, column=2, sticky=EW)
calc_frame = Frame(root, bg='black')
calc_frame.pack(expand=1, fill=BOTH)
calc_frame.grid_columnconfigure(1, weight=1)
# RUB
l_rub = Label(calc_frame, text='Рубли: ', bg='black', fg='lime', font='Arial 12 bold')
l_rub.grid(row=0, column=0, padx=10)
e_rub = Entry(calc_frame, justify=CENTER, font='Arial 10')
e_rub.grid(row=0, column=1, columnspan=2, pady=10, padx=10, sticky=EW)
btn_calc = Button(calc_frame, text='Конвертировать', command=exchange)
btn_calc.grid(row=1, column=1, columnspan=2, sticky=EW, padx=10)
res_frame = Frame(root)
res_frame.pack(expand=1, fill=BOTH, pady=5)
res_frame.grid_columnconfigure(1, weight=1)
# USD
l_usd = Label(res_frame, text='USD', font='Arial 10 bold')
l_usd.grid(row=2, column=0)
e_usd = Entry(res_frame, justify=CENTER, font='Arial 10')
e_usd.grid(row=2, column=1, columnspan=2, padx=10, sticky=EW)
# EUR
l_eur = Label(res_frame, text='EUR', font='Arial 10 bold')
l_eur.grid(row=3, column=0)
e_eur = Entry(res_frame, justify=CENTER, font='Arial 10')
e_eur.grid(row=3, column=1, columnspan=2, padx=10, sticky=EW)
# GBP
l_gbp = Label(res_frame, text='GBP', font='Arial 10 bold')
l_gbp.grid(row=4, column=0)
e_gbp = Entry(res_frame, justify=CENTER, font='Arial 10')
e_gbp.grid(row=4, column=1, columnspan=2, padx=10, sticky=EW)
print(c.bounds['USD'])
root.mainloop()
Код из видео:
from currency_converter import CurrencyConverter
from tkinter import *
def exchange():
e_usd.delete(0, END)
e_eur.delete(0, END)
e_gbp.delete(0, END)
e_usd.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'USD'))
e_eur.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'EUR'))
e_gbp.insert(0, '%.2f' % c.convert(e_rub.get(), 'RUB', 'GBP'))
root = Tk()
root.title('Конвертер валют')
root.geometry('300x250+300+300')
root.resizable(width=False, height=False)
root['bg'] = 'black'
c = CurrencyConverter()
header_frame = Frame(root)
header_frame.pack(fill=X)
header_frame.grid_columnconfigure(0, weight=1)
header_frame.grid_columnconfigure(1, weight=1)
header_frame.grid_columnconfigure(2, weight=1)
h_currency = Label(header_frame, text='Валюта', bg='black', fg='lime', font='Arial 12 bold')
h_currency.grid(row=0, column=0, sticky=EW)
h_course = Label(header_frame, text='Курс', bg='black', fg='lime', font='Arial 12 bold')
h_course.grid(row=0, column=1, columnspan=2, sticky=EW)
# USD курс
usd_currency = Label(header_frame, text='USD', font='Arial 10')
usd_currency.grid(row=1, column=0, sticky=EW)
usd_one = Label(header_frame, text='1', font='Arial 10')
usd_one.grid(row=1, column=1, sticky=EW)
usd_converted = Label(header_frame, text='%.2f' % c.convert(1, 'USD', 'RUB'), font='Arial 10')
usd_converted.grid(row=1, column=2, sticky=EW)
# EUR курс
eur_currency = Label(header_frame, text='EUR', font='Arial 10')
eur_currency.grid(row=2, column=0, sticky=EW)
eur_one = Label(header_frame, text='1', font='Arial 10')
eur_one.grid(row=2, column=1, sticky=EW)
eur_converted = Label(header_frame, text='%.2f' % c.convert(1, 'EUR', 'RUB'), font='Arial 10')
eur_converted.grid(row=2, column=2, sticky=EW)
# GBP курс
gbp_currency = Label(header_frame, text='GPB', font='Arial 10')
gbp_currency.grid(row=3, column=0, sticky=EW)
gbp_one = Label(header_frame, text='1', font='Arial 10')
gbp_one.grid(row=3, column=1, sticky=EW)
gbp_converted = Label(header_frame, text='%.2f' % c.convert(1, 'GBP', 'RUB'), font='Arial 10')
gbp_converted.grid(row=3, column=2, sticky=EW)
calc_frame = Frame(root, bg='black')
calc_frame.pack(expand=1, fill=BOTH)
calc_frame.grid_columnconfigure(1, weight=1)
# RUB
l_rub = Label(calc_frame, text='Рубли: ', bg='black', fg='lime', font='Arial 12 bold')
l_rub.grid(row=0, column=0, padx=10)
e_rub = Entry(calc_frame, justify=CENTER, font='Arial 10')
e_rub.grid(row=0, column=1, columnspan=2, pady=10, padx=10, sticky=EW)
btn_calc = Button(calc_frame, text='Конвертировать', command=exchange)
btn_calc.grid(row=1, column=1, columnspan=2, sticky=EW, padx=10)
res_frame = Frame(root)
res_frame.pack(expand=1, fill=BOTH, pady=5)
res_frame.grid_columnconfigure(1, weight=1)
# USD
l_usd = Label(res_frame, text='USD', font='Arial 10 bold')
l_usd.grid(row=2, column=0)
e_usd = Entry(res_frame, justify=CENTER, font='Arial 10')
e_usd.grid(row=2, column=1, columnspan=2, padx=10, sticky=EW)
# EUR
l_eur = Label(res_frame, text='EUR', font='Arial 10 bold')
l_eur.grid(row=3, column=0)
e_eur = Entry(res_frame, justify=CENTER, font='Arial 10')
e_eur.grid(row=3, column=1, columnspan=2, padx=10, sticky=EW)
# GBP
l_gbp = Label(res_frame, text='GBP', font='Arial 10 bold')
l_gbp.grid(row=4, column=0)
e_gbp = Entry(res_frame, justify=CENTER, font='Arial 10')
e_gbp.grid(row=4, column=1, columnspan=2, padx=10, sticky=EW)
print(c.bounds['USD'])
root.mainloop()
elka.png
247.8 KB
#АнимированнаяОткрытка
Код из видео:
from tkinter import *
from PIL import ImageTk, Image
import random
root = Tk()
root.title('С Новым Годом!')
root.resizable(width=False, height=False)
cWidth = 1280
cHeight = 720
c = Canvas(root, width=cWidth, height=cHeight, bg='#002655')
c.pack()
image = ImageTk.PhotoImage(file='elka.png')
c.create_image(100, 100, image=image, anchor=NW)
def createText():
cText = ('''
Какая сказка за окном!
Кружат снежинки, будто в вальсе,
Весь мир пропитан волшебством,
И воздух переполнен счастьем.
Пусть в этот чудный Новый год
Удача в двери постучится,
И счастье вместе с ней войдет,
И все, что хочешь ты, случится!
''')
c.create_text(cWidth * 2 / 3, cHeight / 2, text=cText, fill='white', font='Times 24 bold')
def createSnow(t, n):
for i in range(500):
x = random.randint(1, cWidth)
y = random.randint(-cHeight * n - 8, cHeight * (1 - n))
w = random.randint(3, 8)
c.create_oval(x, y, x + w, y + w, fill='white', tag=t)
def motion():
Код из видео:
from tkinter import *
from PIL import ImageTk, Image
import random
root = Tk()
root.title('С Новым Годом!')
root.resizable(width=False, height=False)
cWidth = 1280
cHeight = 720
c = Canvas(root, width=cWidth, height=cHeight, bg='#002655')
c.pack()
image = ImageTk.PhotoImage(file='elka.png')
c.create_image(100, 100, image=image, anchor=NW)
def createText():
cText = ('''
Какая сказка за окном!
Кружат снежинки, будто в вальсе,
Весь мир пропитан волшебством,
И воздух переполнен счастьем.
Пусть в этот чудный Новый год
Удача в двери постучится,
И счастье вместе с ней войдет,
И все, что хочешь ты, случится!
''')
c.create_text(cWidth * 2 / 3, cHeight / 2, text=cText, fill='white', font='Times 24 bold')
def createSnow(t, n):
for i in range(500):
x = random.randint(1, cWidth)
y = random.randint(-cHeight * n - 8, cHeight * (1 - n))
w = random.randint(3, 8)
c.create_oval(x, y, x + w, y + w, fill='white', tag=t)
def motion():
👍6🎄1
#УведомленияWindows10
Код из видео:
from win10toast import ToastNotifier
toast = ToastNotifier()
# Добавление уведомления
toast.show_toast('Заголовок', 'Уведомление!', duration=10, icon_path='notepad.ico')
# Можно также сделать так, чтобы уведомления появлялись спустя определённое кол-во времени:
while True:
toast = ToastNotifier()
toast.show_toast('Заголовок', 'Уведомление!', duration=10)
time.sleep(5)
# Функция для создания уведомлений
def windows_popup(title, content, duration=10):
toast = ToastNotifier()
toast.show_toast(title, content, duration=duration, icon_path='notepad.ico')
windows_popup('Заголовок', 'Пора снимать видео!')
windows_popup('Заголовок2', 'Пора снимать второе видео!')
Код из видео:
from win10toast import ToastNotifier
toast = ToastNotifier()
# Добавление уведомления
toast.show_toast('Заголовок', 'Уведомление!', duration=10, icon_path='notepad.ico')
# Можно также сделать так, чтобы уведомления появлялись спустя определённое кол-во времени:
while True:
toast = ToastNotifier()
toast.show_toast('Заголовок', 'Уведомление!', duration=10)
time.sleep(5)
# Функция для создания уведомлений
def windows_popup(title, content, duration=10):
toast = ToastNotifier()
toast.show_toast(title, content, duration=duration, icon_path='notepad.ico')
windows_popup('Заголовок', 'Пора снимать видео!')
windows_popup('Заголовок2', 'Пора снимать второе видео!')