Справочник Программиста
6.28K 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
#ГенераторТекста
Код из видео:

import numpy as np

text = open('text.txt', encoding='utf-8').read()

corpus = text.split()


def make_pairs(corpus):
for i in range(len(corpus) - 1):
yield (corpus[i], corpus[i + 1])


pairs = make_pairs(corpus)

word_dict = {}

for word_1, word_2 in pairs:
if word_1 in word_dict.keys():
word_dict[word_1].append(word_2)
else:
word_dict[word_1] = [word_2]


first_word = np.random.choice(corpus)

while first_word.islower():
first_word = np.random.choice(corpus)

chain = [first_word]

n_words = 100

for i in range(n_words):
chain.append(np.random.choice(word_dict[chain[-1]]))


print(' '.join(chain))
👍2
#ПостроениеГрафиков
Код из видео:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
ax.set_title('График')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_xlim((-5, 5))
ax.set_ylim((-5, 5))
ax.grid()

x = np.linspace(-5, 5, 100)
y = x2 + np.cos(x) - x3
ax.plot(x, y)

plt.show()
#ПарсерСайтов
Код из видео:

from bs4 import BeautifulSoup
from urllib.request import urlopen

url = [
""
]

file = open('text.txt', 'a')

for x in url:
html_code = str(urlopen(x).read(), 'utf-8')
soup = BeautifulSoup(html_code, 'html.parser')

s = soup.find('title').text
file.write(s + '\n')
p = soup.find_all('p')
print(s)
for i in p:
print(i.text)
file.write(i.text + '\n')
file.write('\n\n')
file.close()
🔥1
#ПрограммаПредсказатель
Код из видео:

import random
import time

responses = ['Да', 'Нет', 'Возможно', 'Скорее да, чем нет', 'Скорее нет, чем да']


def answer():
input('Задай мне вопрос: ')
print('Хмм...')
time.sleep(2)
print(random.choice(responses))
print('\n')


answer()

anotherQuestion = input('Хотите задать ещё 1 вопрос? д/н: ')
while anotherQuestion == str('д'):
answer()
anotherQuestion = input('Хотите задать ещё 1 вопрос? д/н: ')
else:
print(input('Нажмите на любую клавишу для выхода'))
👍1
#БудильникНаПитоне
Код из видео:

from playsound import *
from datetime import *


def validate_time(alarm_time):
if len(alarm_time) != 8:
return 'Неверный формат, попробуйте ещё раз.'
else:
if int(alarm_time[0:2]) > 23:
return 'Неверный формат часов, попробуйте ещё раз.'
elif int(alarm_time[3:5]) > 59:
return 'Неверный формат минут, попробуйте ещё раз.'
elif int(alarm_time[6:8]) > 59:
return 'Неверный формат секунд, попробуйте ещё раз.'
else:
return 'Отлично!'


while True:
alarm_time = input('Введите время в следующем формате \'HH:MM:SS\' \nВремя будильника: ')
validate = validate_time(alarm_time)
if validate != 'Отлично!':
print(validate)
else:
print(f"Будильник установлен на время {alarm_time}...")
break

alarm_hour = int(alarm_time[0:2])
alarm_min = int(alarm_time[3:5])
alarm_sec = int(alarm_time[6:8])

while True:
now = datetime.now()

current_hour = now.hour
current_min = now.minute
current_sec = now.second

if alarm_hour == current_hour:
if alarm_min == current_min:
if alarm_sec == current_sec:
print('Вставай!')
playsound('C:/1.mp3')
break
#УправлениеЧерепашкой
Код из видео:

# Первый способ

from turtle import *
setup(500, 500)
title("Черепашка")
move = Turtle()
def up():
move.forward(45)
def left():
move.left(45)
def right():
move.right(45)
def down():
move.back(45)
onkey(up, "Up")
onkey(left, "Left")
onkey(right, "Right")
onkey(down, "Down")
listen()
mainloop()


# Второй способ

from turtle import *

def up():
x, y = pos()
setposition(x, y + 3)
def left():
x, y = pos()
setposition(x - 3, y)
def right():
x, y = pos()
setposition(x + 3, y)
def down():
x, y = pos()
setposition(x, y - 3)

setup(500, 500)
title("Черепашка")
shape('turtle')
pensize(3)
onkeypress(up, "Up")
onkeypress(left, "Left")
onkeypress(right, "Right")
onkeypress(down, "Down")

listen()
mainloop()
👍1
#ГенераторПаролей
Код из видео:

from tkinter import *
from random import choice


def randomize():
lengthPassword = e.get()
e.delete(0, END)
for i in range(int(lengthPassword)):
e.insert(0, choice(alphabet))


root = Tk()
root.title('Генератор паролей')
root.geometry('200x100')
root.resizable(width=False, height=False)

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', '_', '-', '.', '@']

e = Entry(root, font='Arial 13')
e.place(relx=0.5, y=20, anchor=CENTER)

btn = Button(root, text='Сгенерировать', font=('Comic Sans MS', 17, 'bold'), command=randomize)
btn.place(relx=0.5, y=70, anchor=CENTER)


root.mainloop()
🔥2
Небольшая шпаргалка по python
#Анаграммы
Код из видео:

from random import choice, sample

words = ['питон', 'мышь', 'клавиатура', 'телефон']

word = choice(words)
wordMix = sample(word, k=len(word))

print('Загаданное слово: ' + ''.join(wordMix))

while True:
guess = input('Введите вашу догадку: ')
if guess == word:
print('Вы угадали! \nХотите ещё разок (да/нет)?')
what = input('Ваш ответ: ')
if what == 'да':
word = choice(words)
wordMix = sample(word, k=len(word))
print('Загаданное слово ' + ''.join(wordMix))
continue
else:
break
else:
print('Вы не угадали, попробуйте ещё раз')
Сделал полноценное приложение, завтра видео по его созданию ;)