Справочник Программиста
6.29K subscribers
1.35K photos
387 videos
64 files
1.7K 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
Справочник Программиста
https://youtu.be/6Zlq0hPduPE
Код из видео:

from tkinter import *
from tkinter import filedialog
from PIL import Image


def convert():
img = Image.open(path_to_png.get())
img.save('output.ico')


root = Tk()
root.title('Конвертер PNG в ICO')
root.geometry('500x100')
root.resizable(0, 0)
root['bg'] = 'black'

path_to_png = Entry(root, width=50, font='Arial 10 bold')
path_to_png.pack(pady=10)

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

root.mainloop()
👍14
Справочник Программиста
https://www.youtube.com/watch?v=dC_aEtK4Hs8
Код из видео:

import cv2

image = cv2.imread("cat.jpg")
cv2.imshow("Cat", image)
cv2.waitKey(0)

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("black and white cat", gray_image)
cv2.waitKey(0)

inverted_image = 255 - gray_image
cv2.imshow("negativity cat", inverted_image)
cv2.waitKey()

blurred = cv2.GaussianBlur(inverted_image, (21, 21), 0)

inverted_blurred = 255 - blurred

pencil_sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0)
cv2.imshow("sketch cat", pencil_sketch)
cv2.imwrite('sketch cat.jpg', pencil_sketch)
cv2.waitKey(0)
👍11🔥21😁1
Справочник Программиста
https://youtu.be/p_I9feFVtqM
Код из видео:

import json

try:
with open('input.json', 'r') as f:
data = json.loads(f.read())

output = ','.join([*data[0]])
print(output)
for obj in data:
output += f'\n{obj["id"]},{obj["first_name"]},{obj["last_name"]}'
print(output)
with open('output.csv', 'w') as f:
f.write(output)
except Exception as ex:
print(f'Error: {str(ex)}')
9👍1
Справочник Программиста
https://www.youtube.com/watch?v=cuUEiiDXg_k
Код из видео:

from urllib.request import urlopen
import time


def get_load_time(url):
if ("https" or "http") in url:
open_this_url = urlopen(url)
else:
open_this_url = urlopen("https://" + url)
start_time = time.time()
open_this_url.read()
end_time = time.time()
open_this_url.close()
time_to_load = end_time - start_time

return time_to_load


url = input("Введите URL-адрес, время загрузки которого вы хотите проверить: ")
print(f"\nВремя, затраченное на загрузку {url} равно {get_load_time(url):.2} секунд.")
👍7
Справочник Программиста
https://www.youtube.com/watch?v=H8RBMVTBYGw
Код из видео:

from pytube import YouTube
import os


def download_audio():
video_url = input('Введите ссылку на видео с YouTube: ')
yt = YouTube(video_url)
name = f'{yt.streams[0].title}.mp3'
yt.streams.filter(only_audio=True).first().download(filename=name)


download_audio()
👍15🥰1
Выглядит так, будто я после недели видосов решил устроить неделю статей))
На самом деле я просто хочу развивать и сайт, поэтому статьи будут +/- ежедневно, возможно иногда даже по две.
Видео буду стараться выпускать раз в неделю +/- день)
10👍7🔥3
Справочник Программиста
https://www.youtube.com/watch?v=R0tUSOAklJ8
Код из видео:

from tkinter import *
import string
import ctypes

xAxis = string.ascii_lowercase[0:7]
yAxis = range(0, 12)

cells = {}


def evaluateCell(cellId):
content = cells[cellId][0].get()
content = content.lower()

label = cells[cellId][1]

if content.startswith('='):
for cell in cells:
if cell in content.lower():
content = content.replace(cell, str(evaluateCell(cell)))

content = content[1:]
try:
content = eval(content)
except:
content = 'NAN'
label['text'] = content
return content

else:
label['text'] = content
return content


def updateAllCells():
root.after(10, updateAllCells)

for cell in cells:
evaluateCell(cell)


root = Tk()
root.resizable(0, 0)
root.title('Приложение для электронных таблиц')

for y in yAxis:
label = Label(root, text=y, width=5, background='white')
label.grid(row=y + 1, column=0)

for i, x in enumerate(xAxis):
label = Label(root, text=x, width=35, background='white')
label.grid(row=0, column=i + 1, sticky='n')

for y in yAxis:
for xcoor, x in enumerate(xAxis):
id = f'{x}{y}'

var = StringVar(root, '', id)

e = Entry(root, textvariable=var, width=30)
e.grid(row=y + 1, column=xcoor + 1)

label = Label(root, text='', width=5)
label.grid(row=y + 1, column=xcoor + 1, sticky='e')

cells[id] = [var, label]

updateAllCells()

root.mainloop()
👍975🏆3