PythonDev
74 subscribers
7 photos
1 video
18 files
60 links
Канал, где рассказывают по Python

Админ - @mistcoder, @ALRU8
Донат - https://t.me/send?start=IVawE0JR96oZ
Download Telegram
Генератор паролей

Ниже представлен генератор паролей на Python, который позволяет выбрать тип пароля, включая спецсимволы и заглавные буквы.

import random
import string

def generate_password(password_type, length, use_uppercase, use_special_chars):
if password_type == 'цифровой':
chars = string.digits
elif password_type == 'буквенный':
chars = string.ascii_lowercase
if use_uppercase:
chars += string.ascii_uppercase
elif password_type == 'смешанный':
chars = string.ascii_lowercase + string.digits
if use_uppercase:
chars += string.ascii_uppercase
if use_special_chars:
chars += string.punctuation
else:
raise ValueError('Недопустимый тип пароля')

password = ''.join(random.choice(chars) for _ in range(length))
return password

def main():
print('Выберите тип пароля:')
print('1. Цифровой')
print('2. Буквенный')
print('3. Смешанный')

choice = input('Введите номер типа пароля: ')

if choice == '1':
password_type = 'цифровой'
elif choice == '2':
password_type = 'буквенный'
elif choice == '3':
password_type = 'смешанный'
else:
print('Недопустимый выбор')
return

use_uppercase = input('Использовать заглавные буквы? (y/n): ').lower() == 'y'
use_special_chars = input('Использовать спецсимволы? (y/n): ').lower() == 'y'

length = int(input('Введите длину пароля: '))

password = generate_password(password_type, length, use_uppercase, use_special_chars)
print(f'Сгенерированный пароль: {password}')

if __name__ == '__main__':
main()


Как использовать:
1.Запустите скрипт
2.Выберите тип пароля, введя соответствующий номер.
3.Выберите, использовать ли заглавные буквы и спецсимволы.
4.Введите длину пароля.
5.Скрипт сгенерирует и выведет пароль указанного типа и длины.

Данный генератор паролей использует модуль random для генерации случайных символов. Типы паролей: цифровой (только цифры), буквенный (только буквы), смешанный (цифры, буквы и спецсимволы). Длина пароля должна быть целым положительным числом.

PythonDev

#скрипт
👍32👨‍💻1
Крестики-Нолики с ботом
maps = [1, 2, 3,
4, 5, 6,
7, 8, 9]

victories = [[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]]

def print_maps():
print(maps[0], end=" ")
print(maps[1], end=" ")
print(maps[2])

print(maps[3], end=" ")
print(maps[4], end=" ")
print(maps[5])

print(maps[6], end=" ")
print(maps[7], end=" ")
print(maps[8])


def step_maps(step, symbol):
ind = maps.index(step)
maps[ind] = symbol


def get_result():
win = ""

for i in victories:
if maps[i[0]] == "X" and maps[i[1]] == "X" and maps[i[2]] == "X":
win = "X"
if maps[i[0]] == "O" and maps[i[1]] == "O" and maps[i[2]] == "O":
win = "O"

return win


game_over = False
player1 = True

while game_over == False:

print_maps()

if player1 == True:
symbol = "X"
step = int(input("Человек 1, ваш ход: "))
else:
symbol = "O"
step = int(input("Человек 2, ваш ход: "))

step_maps(step, symbol)
win = get_result()
if win != "":
game_over = True
else:
game_over = False

player1 = not (player1)

print_maps()
print("Победил", win)


Простой код игры Крестики-Нолики на двоих

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👨‍💻1
Простой переводчик с русского на английский язык

from translate import Translator
translator = Translator(from_lang='Russian', to_lang='English')
result = Translator.translator(input())
print(result)


В данном примере используется библиотека translate

pip install translate


PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥2
Модуль math

Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами.

math.ceil(X) – округление до ближайшего большего числа.

math.copysign(X, Y) - возвращает число, имеющее модуль такой же, как и у числа X, а знак - как у числа Y.

math.fabs(X) - модуль X.

math.factorial(X) - факториал числа X.

math.floor(X) - округление вниз.

math.fmod(X, Y) - остаток от деления X на Y.

math.fsum(последовательность) - сумма всех членов последовательности. Эквивалент встроенной функции sum(), но math.fsum() более точна для чисел с плавающей точкой.

math.isfinite(X) - является ли X числом.

math.isinf(X) - является ли X бесконечностью.

math.isnan(X) - является ли X NaN (Not a Number - не число).

math.modf(X) - возвращает дробную и целую часть числа X. Оба числа имеют тот же знак, что и X.

math.trunc(X) - усекает значение X до целого.

math.log(X, [base]) - логарифм X по основанию base. Если base не указан, вычисляется натуральный логарифм.

math.log10(X) - логарифм X по основанию 10.

math.log2(X) - логарифм X по основанию 2.

math.pow(X, Y) - XY.

math.sqrt(X) - квадратный корень из X.

math.cos(X) - косинус X (X указывается в радианах).

math.sin(X) - синус X (X указывается в радианах).

math.tan(X) - тангенс X (X указывается в радианах).

math.hypot(X, Y) - вычисляет гипотенузу треугольника с катетами X и Y (math.sqrt(x * x + y * y)).

math.degrees(X) - конвертирует радианы в градусы.

math.radians(X) - конвертирует градусы в радианы.

math.erf(X) - функция ошибок.

math.erfc(X) - дополнительная функция ошибок (1 - math.erf(X)).

math.pi - pi = 3,1415926...

math.e - e = 2,718281...



PythonDev
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻1
Размытие изображений

from PIL import Image, ImageFilter
image1 = Image.open("image.jpg")
image2 = image1.filter(ImageFilter.GaussianBlur(radius=5))
image2.show()


Одним из популярных методов обработки изображений является размытие, которое можно легко реализовать с помощью библиотеки Pillow в Python.


Гауссово размытие (Gaussian Blur) — это метод, используемый для смягчения резких краев и уменьшения шума в изображениях.


PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥61
Крестики-Нолики с ботом
maps = [1, 2, 3,
4, 5, 6,
7, 8, 9]

victories = [[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]]


def print_maps():
print(maps[0], end=" ")
print(maps[1], end=" ")
print(maps[2])

print(maps[3], end=" ")
print(maps[4], end=" ")
print(maps[5])

print(maps[6], end=" ")
print(maps[7], end=" ")
print(maps[8])


def step_maps(step, symbol):
ind = maps.index(step)
maps[ind] = symbol


def get_result():
win = ""

for i in victories:
if maps[i[0]] == "X" and maps[i[1]] == "X" and maps[i[2]] == "X":
win = "X"
if maps[i[0]] == "O" and maps[i[1]] == "O" and maps[i[2]] == "O":
win = "O"

return win


def check_line(sum_O, sum_X):
step = ""
for line in victories:
o = 0
x = 0

for j in range(0, 3):
if maps[line[j]] == "O":
o = o + 1
if maps[line[j]] == "X":
x = x + 1

if o == sum_O and x == sum_X:
for j in range(0, 3):
if maps[line[j]] != "O" and maps[line[j]] != "X":
step = maps[line[j]]

return step

def AI():
step = ""

step = check_line(2, 0)

if step == "":
step = check_line(0, 2)

if step == "":
step = check_line(1, 0)

if step == "":
if maps[4] != "X" and maps[4] != "O":
step = 5

if step == "":
if maps[0] != "X" and maps[0] != "O":
step = 1

return step

game_over = False
human = True

while game_over == False:

print_maps()

if human == True:
symbol = "X"
step = int(input("Человек, ваш ход: "))
else:
print("Компьютер делает ход: ")
symbol = "O"
step = AI()

if step != "":
step_maps(step, symbol)
win = get_result()
if win != "":
game_over = True
else:
game_over = False
else:
print("Ничья!")
game_over = True
win = "Никто"

human = not (human)

print_maps()
print("Победил", win)


Простой код игры Крестики-Нолики с ботом

В данном случае бот не победим!

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍1👨‍💻1
Бегущая строка
import time
import sys
def running_string(text, speed=0.1):
while True:
for i in range(len(text)):
sys.stdout.write("\r" + text[i:] + text[:i])
sys.stdout.flush()
time.sleep(speed)

text = "This is a running text "
running_string(text)


Этот код создает анимацию бегущей строки текста в консоли. Он использует бесконечный цикл, чтобы постоянно выводить строку текста, смещая ее на один символ влево при каждом выводе. Скорость анимации можно регулировать с помощью аргумента 'speed'


PythonDev

Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍311
Перевод между системами счисления
def convert_base(num, base_from, base_to):
decimal = int(num, base_from)
if decimal == 0:
return '0'
digits = []
while decimal:
digits.append(int(decimal % base_to))
decimal //= base_to
digits = ''.join(map(str, digits[::-1]))
return digits

num = input("Введите число: ")
base_from = int(input("Введите исходную систему счисления (2-36): "))
base_to = int(input("Введите целевую систему счисления (2-36): "))

result = convert_base(num, base_from, base_to)
print(f"Результат: {result}")


Функция convert_base переводит число из одной системы счисления в другую. Она принимает строку num, исходную систему счисления base_from и целевую систему счисления base_to. Функция сначала переводит число в десятичную систему, а затем в целевую систему счисления, используя цикл для извлечения цифр.

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👨‍💻11
Как считать текстовый файл в список

with open("text.txt") as t:
list = t.readlines()
list = [x.strip() for x in list]
print(list)


При часто бывает, что необходимо построчно выгрузить файл в массив. Алгоритм действий:

1) Загружаем файл (для примера взят text.txt) с помощью open;
2) Считываем построчно в переменную list с помощью метода readlines;
3) Удаляем все символы новой строки с помощью strip.

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Snake_by_MrCoder.py
3.2 KB
Игра змейка🐍
Легендарная игра детства из тетриса, в описании не нуждается)
Имеет графический интерфейс, используется библиотека pygame

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#byMrCoder

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Функция eval()
print(eval(input()))

Функция eval() в Python используется для выполнения строки кода, содержащей выражение или инструкцию, и возврата результата. Это может быть полезно, когда вам нужно динамически вычислять математические выражения, которые вводит пользователь или получаются из внешнего источника.

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Генератор capcha
import random
import string
from PIL import Image, ImageDraw, ImageFont


def generate_code(length=6):
chars = string.ascii_uppercase + string.digits
return ''.join(random.choice(chars) for _ in range(length))


def generate_captcha(code):
img = Image.new('RGB', (150, 70), color=(255, 255, 255))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 24)

for _ in range(5):
x1, y1 = random.randint(0, 150), random.randint(0, 70)
x2, y2 = random.randint(0, 150), random.randint(0, 70)
draw.line((x1, y1, x2, y2), fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))

draw.text((10, 20), code, font=font, fill=(0, 0, 0))
img.save('captcha.png')


code = generate_code()
generate_captcha(code)
print(f'Код капчи: {code}')

Наипростейший генератор капчи, сохраняет файл с капчой в папку с файлом.py, по названием capcha.png

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
Простой код для удаления дубликатов символов из строки

def remove_duplicates(input_str):
unique_chars = set(input_str)
result_str = ''.join(unique_chars)
return result_str
input_str = "Привет, мир!"
print("Исходная строка:", input_str)
print("Строка без дупликатов:", remove_duplicates(input_str))

PythonDev
Сотрудничество - @mistcoder
➡️Донат

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Давайте, кто может, накинем бустов ➡️тык
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Pong_by_MrCoder.py
2.3 KB
Простейшая игра пинг понг с использованием библиотеки pygame

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#byMrCoder

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍1
str1 = "привет мир"
print(str1.find("мир")) # Вывод: 6
print(str1.index("мир")) # Вывод: 6
print(str1.rfind("мир")) # Вывод: 6
print(str1.rindex("мир")) # Вывод: 6

print(str1.find("земля")) # Вывод: -1
print(str1.index("земля")) # Ошибка: ValueError: substring not found


Работа со строками ч.2 Методы для поиска подстрок

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Voicetotext_by_MrCoder.py
2.4 KB
Телеграм бот, который преобразует аудио файл в текст

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#byMrCoder

#бот
Please open Telegram to view this post
VIEW IN TELEGRAM
6
str1 = "привет мир"
print(str1.upper()) # Вывод: "ПРИВЕТ МИР"
print(str1.lower()) # Вывод: "привет мир"
print(str1.capitalize()) # Вывод: "Привет мир"
print(str1.title()) # Вывод: "Привет Мир"
print(str1.swapcase()) # Вывод: "ПРИВЕТ МИР"

str2 = "hello world hello"
print(str2.replace("hello", "hi")) # Вывод: "hi world hi"


Работа со строками ч.1 Методы для изменения строки

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Calculator_by_MrCoder.py
1.6 KB
Графический калькулятор для выполнения базовых действий by MrCoder

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#byMrCoder

#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
str1 = "привет мир"
print(str1.startswith("привет")) # Вывод: True
print(str1.endswith("мир")) # Вывод: True
print(str1.startswith("мир")) # Вывод: False


Работа со строками ч.3 Методы для проверки строки

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
6
str1 = "   привет мир   "
print(str1.strip()) # Вывод: "привет мир"
print(str1.lstrip()) # Вывод: "привет мир "
print(str1.rstrip()) # Вывод: " привет мир"


Работа со строками ч.4 Методы для работы с пробелами

PythonDev
✔️Boost
Сотрудничество - @mistcoder
➡️Донат

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍1