Давайте напишем простой генератор паролей на Python:
Этот код позволяет пользователю задать длину пароля, а затем генерирует случайный пароль указанной длины, состоящий из букв, цифр и специальных символов.
Подпишись 👉🏻 @KodduuPython 🤖
python
import random
import string
def generate_password(length=8):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
print("Генератор паролей")
password_length = int(input("Введите желаемую длину пароля: "))
print(f"Ваш новый пароль: {generate_password(password_length)}")
Этот код позволяет пользователю задать длину пароля, а затем генерирует случайный пароль указанной длины, состоящий из букв, цифр и специальных символов.
Подпишись 👉🏻 @KodduuPython 🤖
Представляю простой консольный квиз на Python:
Это простой консольный квиз с двумя вопросами. Вы можете добавлять новые вопросы, следуя структуре в списке
Подпишись 👉🏻 @KodduuPython 🤖
python
def ask_question(question, correct_answer, options):
print(question)
for i, option in enumerate(options, 1):
print(f"{i}. {option}")
answer = int(input("Ваш ответ (введите номер): "))
if options[answer-1] == correct_answer:
return True
else:
return False
questions = [
{
"question": "Какая планета ближе всего к Солнцу?",
"correct_answer": "Меркурий",
"options": ["Марс", "Меркурий", "Венера", "Земля"]
},
{
"question": "Какой элемент имеет химический символ 'Au'?",
"correct_answer": "Золото",
"options": ["Золото", "Аргон", "Аллюминий", "Серебро"]
}
]
score = 0
for q in questions:
if ask_question(q['question'], q['correct_answer'], q['options']):
print("Правильно!")
score += 1
else:
print(f"Неправильно! Правильный ответ: {q['correct_answer']}")
print(f"Ваш результат: {score}/{len(questions)}")
Это простой консольный квиз с двумя вопросами. Вы можете добавлять новые вопросы, следуя структуре в списке
questions.Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим мини-программу, которая конвертирует температуру из градусов Цельсия в градусы Фаренгейта и наоборот:
Эта программа предоставляет пользователю выбор конвертации температуры, а затем выполняет необходимые вычисления.
Подпишись 👉🏻 @KodduuPython 🤖
python
def celsius_to_fahrenheit(celsius):
return 9.0/5.0 * celsius + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5.0/9.0
print("Программа конвертации температуры")
choice = input("Конвертировать из Цельсия в Фаренгейта (введите 'C') или из Фаренгейта в Цельсия (введите 'F')? ")
if choice == 'C':
celsius = float(input("Введите температуру в градусах Цельсия: "))
print(f"{celsius}°C = {celsius_to_fahrenheit(celsius):.2f}°F")
elif choice == 'F':
fahrenheit = float(input("Введите температуру в градусах Фаренгейта: "))
print(f"{fahrenheit}°F = {fahrenheit_to_celsius(fahrenheit):.2f}°C")
else:
print("Неверный выбор!")
Эта программа предоставляет пользователю выбор конвертации температуры, а затем выполняет необходимые вычисления.
Подпишись 👉🏻 @KodduuPython 🤖
Представлю еще одну интересную библиотеку -
Библиотека
1. Установите библиотеку:
2. Пример кода:
При выполнении этого кода вы сможете увидеть текст с эмодзи и даже преобразовать свое текстовое описание эмодзи в настоящий символ эмодзи.
Эта библиотека может пригодиться для добавления небольшого количества "соли" в ваши проекты или просто для развлечения. Надеюсь, вам понравится!
Подпишись 👉🏻 @KodduuPython 🤖
emoji.Библиотека
emoji позволяет добавлять эмодзи в ваш код на Python.1. Установите библиотеку:
pip install emoji
2. Пример кода:
python
import emoji
def main():
print(emoji.emojize('Python is :thumbs_up:'))
print(emoji.emojize('Библиотеки на Python делают код веселым :wink:', language='ru'))
# Перевод текстового описания эмодзи в сам эмодзи
user_input = input("Введите описание эмодзи (например, :heart:): ")
print(emoji.emojize(user_input))
if __name__ == "__main__":
main()
При выполнении этого кода вы сможете увидеть текст с эмодзи и даже преобразовать свое текстовое описание эмодзи в настоящий символ эмодзи.
Эта библиотека может пригодиться для добавления небольшого количества "соли" в ваши проекты или просто для развлечения. Надеюсь, вам понравится!
Подпишись 👉🏻 @KodduuPython 🤖
Давайте рассмотрим еще одну интересную библиотеку —
Эта библиотека позволяет быстро находить ответы на программистские вопросы прямо из командной строки (или из вашего кода), используя Stack Overflow.
1. Установите библиотеку:
2. Пример использования в коде:
Запустив этот код, вы можете задать программистский вопрос (на английском языке), и программа попробует найти ответ на Stack Overflow.
Это может быть полезно, если вы работаете в оффлайн-редакторе кода или просто хотите быстро найти решение для какой-либо проблемы без открытия браузера.
Надеюсь, что это добавит удобства в ваш рабочий процесс!
Подпишись 👉🏻 @KodduuPython 🤖
howdoi.Эта библиотека позволяет быстро находить ответы на программистские вопросы прямо из командной строки (или из вашего кода), используя Stack Overflow.
1. Установите библиотеку:
pip install howdoi
2. Пример использования в коде:
python
import howdoi
def get_answer(query):
return howdoi.howdoi({'query': query})
def main():
question = input("Что вы хотели бы узнать? ")
print(get_answer(question))
if __name__ == "__main__":
main()
Запустив этот код, вы можете задать программистский вопрос (на английском языке), и программа попробует найти ответ на Stack Overflow.
Это может быть полезно, если вы работаете в оффлайн-редакторе кода или просто хотите быстро найти решение для какой-либо проблемы без открытия браузера.
Надеюсь, что это добавит удобства в ваш рабочий процесс!
Подпишись 👉🏻 @KodduuPython 🤖
⚡1🆒1
Рассмотрим библиотеку
1. Установите библиотеку:
2. Примеры использования:
a) Отправить сообщение WhatsApp:
b) Преобразовать текст в рукопись:
Обратите внимание, что для отправки сообщений через WhatsApp, вам нужно будет предварительно отсканировать QR-код на сайте WhatsApp Web.
Эти примеры лишь небольшая часть того, что может предложить
Подпишись 👉🏻 @KodduuPython 🤖
pywhatkit.pywhatkit — это интересная библиотека, которая позволяет выполнять множество различных задач, таких как отправка сообщений WhatsApp, преобразование текста в рукопись, автоматический поиск в Google и многое другое.1. Установите библиотеку:
pip install pywhatkit
2. Примеры использования:
a) Отправить сообщение WhatsApp:
python
import pywhatkit as kt
def send_whatsapp():
# Не забудьте войти в WhatsApp Web на вашем компьютере перед запуском
phone_num = input("Введите номер телефона в формате +xxxxxxxxxxx: ")
message = input("Введите сообщение: ")
time_hour = int(input("Введите час отправки (24-часовой формат): "))
time_min = int(input("Введите минуту отправки: "))
kt.sendwhatmsg(phone_num, message, time_hour, time_min)
send_whatsapp()
b) Преобразовать текст в рукопись:
python
import pywhatkit as kt
def text_to_handwriting():
text = input("Введите текст для преобразования в рукопись: ")
output_path = "output.png"
kt.text_to_handwriting(text, save_to=output_path)
print(f"Рукописный текст сохранен в {output_path}")
text_to_handwriting()
Обратите внимание, что для отправки сообщений через WhatsApp, вам нужно будет предварительно отсканировать QR-код на сайте WhatsApp Web.
Эти примеры лишь небольшая часть того, что может предложить
pywhatkit. Надеюсь, вам будет интересно экспериментировать с этой библиотекой!Подпишись 👉🏻 @KodduuPython 🤖
⚡1🆒1
Рассмотрим библиотеку
1. Установите библиотеку:
2. Примеры использования:
a) Вывод стилизованного текста:
b) Вывод таблицы:
c) Вывод Markdown:
d) Прогресс-бар:
Подпишись 👉🏻 @KodduuPython 🤖
rich.rich позволяет создавать красочный и интерактивный вывод в консоль с минимальными усилиями. Это может быть полезно для логирования, вывода таблиц, прогресс-баров и даже для рендеринга Markdown.1. Установите библиотеку:
pip install rich
2. Примеры использования:
a) Вывод стилизованного текста:
python
from rich import print
print("[bold red]Это красный жирный текст![/bold red]")
print("[underline blue]Это синий текст с подчеркиванием![/underline blue]")
b) Вывод таблицы:
python
from rich.table import Table
from rich.console import Console
console = Console()
table = Table(show_header=True, header_style="bold magenta")
table.add_column("ID")
table.add_column("Name")
table.add_column("Age")
table.add_row("1", "Alice", "28")
table.add_row("2", "Bob", "23")
table.add_row("3", "Charlie", "34")
console.print(table)
c) Вывод Markdown:
python
from rich.console import Console
console = Console()
markdown_text = """
# Заголовок
- Список 1
- Список 2
"""
console.print(markdown_text, markup=False)
d) Прогресс-бар:
python
import time
from rich.progress import track
for step in track(range(10), description="Обработка..."):
time.sleep(0.1)
rich действительно преобразует то, как вы видите вывод в консоли, делая его намного более привлекательным и читаемым. Вы можете использовать его для улучшения CLI-интерфейсов, скриптов и многого другого.Подпишись 👉🏻 @KodduuPython 🤖
Давайте рассмотрим библиотеку
1. Установите библиотеку:
2. Пример создания простого окна с кнопкой:
Этот код создаст окно с текстом и кнопкой. При нажатии на кнопку будет отображаться график.
Если вы искали быстрый и простой способ создать GUI на Python без необходимости изучения сложных библиотек вроде PyQt или Tkinter,
Подпишись 👉🏻 @KodduuPython 🤖
dearpygui.dearpygui — это быстрая, простая в использовании и портируемая библиотека для создания графических пользовательских интерфейсов (GUI) на Python.1. Установите библиотеку:
pip install dearpygui
2. Пример создания простого окна с кнопкой:
python
import dearpygui.dearpygui as dpg
def on_button_click(sender, app_data):
dpg.create_simple_plot("Sample Plot", [0, 1, 2, 3, 4], [0, 1, 4, 9, 16])
with dpg.handler_registry():
with dpg.window(label="Main Window"):
dpg.add_text("Hello, dearpygui!")
dpg.add_button(label="Show Plot", callback=on_button_click)
dpg.create_context()
dpg.create_viewport(title='Custom GUI', width=600, height=400)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.destroy_context()
Этот код создаст окно с текстом и кнопкой. При нажатии на кнопку будет отображаться график.
dearpygui предоставляет множество виджетов и инструментов для создания сложных графических интерфейсов, включая различные виды графиков, инструменты управления и даже визуализации в реальном времени.Если вы искали быстрый и простой способ создать GUI на Python без необходимости изучения сложных библиотек вроде PyQt или Tkinter,
dearpygui может быть отличным выбором!Подпишись 👉🏻 @KodduuPython 🤖
🆒3
Давайте поговорим о библиотеке
1. Установите библиотеку:
2. Примеры использования:
a) Чтение и сохранение изображения:
b) Создание анимированного GIF из нескольких изображений:
c) Чтение и запись видео:
Подпишись 👉🏻 @KodduuPython 🤖
imageio.imageio — это библиотека для чтения и записи изображений и видеофайлов в различных форматах. Она довольно проста в использовании и поддерживает множество форматов.1. Установите библиотеку:
pip install imageio
2. Примеры использования:
a) Чтение и сохранение изображения:
python
import imageio
image = imageio.imread("input.jpg")
imageio.imwrite("output.png", image)
b) Создание анимированного GIF из нескольких изображений:
python
import imageio
filenames = ["frame1.png", "frame2.png", "frame3.png"]
images = [imageio.imread(filename) for filename in filenames]
imageio.mimsave("animation.gif", images, duration=0.5) # duration — это продолжительность каждого кадра в секундах
c) Чтение и запись видео:
python
reader = imageio.get_reader("video.mp4")
fps = reader.get_meta_data()['fps']
writer = imageio.get_writer("output_video.mp4", fps=fps)
for frame in reader:
modified_frame = frame[:, :, :3] # Например, удалить альфа-канал
writer.append_data(modified_frame)
writer.close()
imageio также поддерживает чтение и запись вольфрамов, объемных изображений и многого другого. Это универсальное решение для работы с мультимедийными данными в Python. Если вы часто работаете с изображениями или видео, эта библиотека может быть очень полезной для вас!Подпишись 👉🏻 @KodduuPython 🤖
Рассмотрим библиотеку
1. Установите библиотеку:
2. Пример использования:
Запустите код и введите любой текст, чтобы увидеть его стилизованное ASCII-представление.
Подпишись 👉🏻 @KodduuPython 🤖
pyfiglet.pyfiglet — это реализация на Python популярной утилиты figlet, которая позволяет создавать ASCII-искусство из текста. С её помощью вы можете генерировать красочные и стилизованные заголовки или логотипы прямо в вашем терминале.1. Установите библиотеку:
pip install pyfiglet
2. Пример использования:
python
import pyfiglet
def main():
font = pyfiglet.Figlet(font='slant') # Вы можете изменить шрифт на любой другой из доступных
text = input("Введите текст для преобразования: ")
ascii_art = font.renderText(text)
print(ascii_art)
if __name__ == "__main__":
main()
Запустите код и введите любой текст, чтобы увидеть его стилизованное ASCII-представление.
pyfiglet включает в себя множество различных шрифтов, с которыми можно экспериментировать, чтобы получить именно тот вид, который вам нравится. Это забавный способ добавить немного креативности в ваши консольные приложения или скрипты.Подпишись 👉🏻 @KodduuPython 🤖
Поговорим о библиотеке
1. Установите библиотеку:
2. Простой пример создания окна с движущимся прямоугольником:
Этот код создает окно с белым фоном и красным прямоугольником, который можно перемещать с помощью стрелок на клавиатуре.
Подпишись 👉🏻 @KodduuPython 🤖
pygame.pygame — это библиотека для создания игр и мультимедийных приложений на Python. Она предоставляет инструменты для работы с графикой, звуком, вводом устройств и многим другим.1. Установите библиотеку:
pip install pygame
2. Простой пример создания окна с движущимся прямоугольником:
python
import pygame
from pygame.locals import QUIT
pygame.init()
WIDTH, HEIGHT = 640, 480
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Простой пример с pygame")
WHITE = (255, 255, 255)
RED = (255, 0, 0)
x, y = WIDTH // 2, HEIGHT // 2
velocity = 5
running = True
while running:
for event in pygame.event.get():
if event.type == QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= velocity
if keys[pygame.K_RIGHT]:
x += velocity
if keys[pygame.K_UP]:
y -= velocity
if keys[pygame.K_DOWN]:
y += velocity
screen.fill(WHITE)
pygame.draw.rect(screen, RED, (x, y, 50, 50))
pygame.display.flip()
pygame.time.Clock().tick(60)
pygame.quit()
Этот код создает окно с белым фоном и красным прямоугольником, который можно перемещать с помощью стрелок на клавиатуре.
pygame — это мощный инструмент для создания 2D-игр и мультимедийных приложений, и он предоставляет множество возможностей для реализации различных идей. Если вы заинтересованы в разработке игр или графических приложений на Python, pygame может стать отличным выбором!Подпишись 👉🏻 @KodduuPython 🤖
🆒2
Давайте рассмотрим библиотеку
1. Установите библиотеку:
2. Пример создания простого паука для сбора заголовков с веб-страницы:
Чтобы запустить этого паука, сохраните его в файл
Если вам нужно автоматически собирать информацию с веб-сайтов или мониторить изменения контента,
Подпишись 👉🏻 @KodduuPython 🤖
Scrapy.Scrapy — это мощная и гибкая библиотека для извлечения данных с веб-сайтов. Она может использоваться для различных задач, таких как сбор данных, мониторинг контента и автоматизированное тестирование.1. Установите библиотеку:
pip install Scrapy
2. Пример создания простого паука для сбора заголовков с веб-страницы:
python
import scrapy
class SimpleSpider(scrapy.Spider):
name = "simple_spider"
start_urls = [
'https://example.com',
]
def parse(self, response):
for title in response.css('h1::text, h2::text, h3::text'):
yield {'title': title.get()}
Чтобы запустить этого паука, сохраните его в файл
simple_spider.py и выполните команду:scrapy runspider simple_spider.py
Scrapy предоставляет глубокую настройку для различных аспектов процесса сбора данных, включая обработку запросов, сессий, кэширование и многое другое. Кроме того, благодаря встроенной поддержке экспорта данных, вы можете легко сохранять собранную информацию в различных форматах, таких как CSV, JSON или XML.Если вам нужно автоматически собирать информацию с веб-сайтов или мониторить изменения контента,
Scrapy может стать незаменимым инструментом для этих задач.Подпишись 👉🏻 @KodduuPython 🤖
🆒2
Создание полноценного VPN-сервера — это сложная задача, и для надёжного и безопасного VPN лучше использовать специализированные решения, такие как OpenVPN или WireGuard. Однако, для демонстрационных целей, мы можем рассмотреть создание простого SOCKS-прокси с использованием Python, который будет перенаправлять трафик, но не обеспечивать его шифрование.
Для этого мы можем использовать библиотеку
1. Установите необходимые библиотеки:
2. Простой SOCKS-прокси сервер:
Это довольно примитивный пример и не предоставляет шифрования или аутентификации. Также он не является настоящим SOCKS-прокси (он просто принимает соединения и пересылает данные обратно), но вы можете улучшить его, добавив правильную реализацию протокола SOCKS и другие функции.
Если вы рассматриваете создание реального VPN-сервера для практического использования, рекомендуется использовать проверенные и широко используемые решения, такие как OpenVPN, и убедиться, что вы осведомлены о потенциальных рисках и вопросах безопасности.
Подпишись 👉🏻 @KodduuPython 🤖
Для этого мы можем использовать библиотеку
pysocks.1. Установите необходимые библиотеки:
pip install pysocks
2. Простой SOCKS-прокси сервер:
python
import socket
import threading
import socks
def handler(client):
address, port = client.getpeername()
print(f"Подключение от {address}:{port}")
# Используйте socks.reply.PROXY_ERROR, чтобы отправить ошибку, если что-то пойдет не так.
client.sendall(socks.reply.SOCKS5_GRANTED)
data = client.recv(1024)
while data:
client.sendall(data)
data = client.recv(1024)
print(f"Отключение от {address}:{port}")
client.close()
def main():
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("0.0.0.0", 1080))
server.listen(5)
print("SOCKS сервер запущен на порту 1080")
while True:
client, addr = server.accept()
thread = threading.Thread(target=handler, args=(client,))
thread.start()
if __name__ == "__main__":
main()
Это довольно примитивный пример и не предоставляет шифрования или аутентификации. Также он не является настоящим SOCKS-прокси (он просто принимает соединения и пересылает данные обратно), но вы можете улучшить его, добавив правильную реализацию протокола SOCKS и другие функции.
Если вы рассматриваете создание реального VPN-сервера для практического использования, рекомендуется использовать проверенные и широко используемые решения, такие как OpenVPN, и убедиться, что вы осведомлены о потенциальных рисках и вопросах безопасности.
Подпишись 👉🏻 @KodduuPython 🤖
🔥3
Вот пример необычного кода на Python, который использует метод Монте-Карло для приближенного вычисления числа π (пи):
Однако, чтобы сделать код действительно необычным, мы можем добавить немного "магии" Python, используя декораторы и контекстные менеджеры:
Подпишись 👉🏻 @KodduuPython 🤖
import randomЭтот код использует случайные точки в единичном квадрате для того, чтобы определить, какая их доля попадает внутрь четверти круга. Используя соотношение площади круга и квадрата, мы можем вычислить приближенное значение числа π.
def estimate_pi(num_samples):
inside_circle = 0
for _ in range(num_samples):
x, y = random.random(), random.random()
distance = x**2 + y**2
if distance <= 1:
inside_circle += 1
return (inside_circle / num_samples) * 4
# Попробуем с 1000000 случайных точек
pi_estimate = estimate_pi(1_000_000)
print(f'Приближенное значение числа π после 1,000,000 испытаний: {pi_estimate}')
Однако, чтобы сделать код действительно необычным, мы можем добавить немного "магии" Python, используя декораторы и контекстные менеджеры:
import randomТеперь этот код не только вычисляет значение π, но и измеряет время выполнения вычислений и изменяет точность отображаемого результата.
import contextlib
# Декоратор для измерения времени выполнения функции
import time
def timeit(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Функция {func.__name__!r} выполнялась {end - start:.4f} секунд.")
return result
return wrapper
# Контекстный менеджер для изменения точности вывода чисел с плавающей точкой
@contextlib.contextmanager
def precision(level):
old_precision = f"{0:.10f}".format(0).count('0')
template = "{0:." + str(level) + "f}"
float.__str__ = lambda self: template.format(self)
try:
yield
finally:
float.__str__ = lambda self: ("{0:." + str(old_precision) + "f}").format(self)
@timeit
def estimate_pi(num_samples):
inside_circle = 0
for _ in range(num_samples):
x, y = random.random(), random.random()
if x**2 + y**2 <= 1:
inside_circle += 1
return (inside_circle / num_samples) * 4
# Используем контекстный менеджер для установки точности числа π
with precision(8):
pi_estimate = estimate_pi(1_000_000)
print(f'Приближенное значение числа π после 1,000,000 испытаний: {pi_estimate}')
Подпишись 👉🏻 @KodduuPython 🤖
Как насчет кода, который превращает текстовое сообщение в "речь" ASCII-арт? Это необычный и интересный способ представления текста. Для этого мы можем использовать библиотеку
Перед использованием этой библиотеки, её необходимо установить, выполнив команду
Вот пример кода:
Обратите внимание, что в зависимости от стиля и длины текста, ASCII-арт может занимать много места на экране, и некоторые сложные символы или кириллица могут отображаться некорректно в определённых стилях.
Подпишись 👉🏻 @KodduuPython 🤖
art, которая позволяет генерировать текст в различных стилях ASCII-арт.Перед использованием этой библиотеки, её необходимо установить, выполнив команду
pip install art в командной строке.Вот пример кода:
from art import *Запустив этот код, вы получите вывод в консоль, где "Привет, мир!" будет представлено в виде ASCII-арт в выбранном стиле.
# Выбираем стиль для текста. Стили можно посмотреть в документации библиотеки.
style = "block" # это один из возможных стилей
# Функция, которая принимает текст и стиль, возвращая ASCII-арт
def text_to_art(text, style):
art_text = text2art(text, font=style)
return art_text
# Пример использования функции
text = "Привет, мир!"
ascii_art = text_to_art(text, style)
print(ascii_art)
Обратите внимание, что в зависимости от стиля и длины текста, ASCII-арт может занимать много места на экране, и некоторые сложные символы или кириллица могут отображаться некорректно в определённых стилях.
Подпишись 👉🏻 @KodduuPython 🤖
🔥4
Как насчет создания мини-игры в консоли на Python, например, текстового квеста? Пользователь будет выбирать действия из предложенных вариантов, что приведет к различным исходам. Вот простой пример:
В этом коде определены функции для каждого возможного действия игрока. В начале игры вызывается функция
Этот код можно расширить, добавив больше комнат, предметов, загадок и разветвлений сюжета, чтобы сделать игру более интересной и полноценной.
Подпишись 👉🏻 @KodduuPython 🤖
def introduction():
print("Вы просыпаетесь в незнакомой комнате. Что вы будете делать?")
print("1) Осмотреть комнату")
print("2) Попытаться открыть дверь")
choice = input("> ")
if choice == "1":
look_around()
elif choice == "2":
open_door()
else:
print("Неизвестное действие. Попробуйте снова.")
introduction()
def look_around():
print("Комната пуста, кроме стола с ключом и заметкой.")
print("1) Взять ключ")
print("2) Прочитать заметку")
choice = input("> ")
if choice == "1":
take_key()
elif choice == "2":
read_note()
else:
print("Неизвестное действие. Попробуйте снова.")
look_around()
def open_door():
print("Дверь закрыта на замок.")
if "ключ" in inventory:
print("Вы используете ключ и дверь открывается. Поздравляем, вы вышли на свободу!")
else:
print("Но у вас нет ключа. Кажется, вам стоит его найти.")
introduction()
def take_key():
print("Вы взяли ключ.")
inventory.append("ключ")
introduction()
def read_note():
print("Заметка гласит: 'Иногда правильный выбор - не делать ничего.'")
introduction()
# Главная программа
inventory = [] # Инвентарь игрока
print("Добро пожаловать в текстовый квест!")
introduction()
В этом коде определены функции для каждого возможного действия игрока. В начале игры вызывается функция
introduction(), которая является точкой входа в игру. В инвентарь (inventory) игрока добавляется ключ, если игрок выбирает его поднять. Чтобы "выиграть" в этой игре, игрок должен сначала найти ключ, а затем использовать его, чтобы открыть дверь.Этот код можно расширить, добавив больше комнат, предметов, загадок и разветвлений сюжета, чтобы сделать игру более интересной и полноценной.
Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим простой скрипт, который будет генерировать случайные "секретные" сообщения и затем решать их с помощью простого метода шифрования — шифра Цезаря. Это классический метод, в котором каждая буква в тексте заменяется на другую, которая находится на некотором фиксированном числе позиций левее или правее её в алфавите.
Этот код сначала генерирует случайное сообщение, затем шифрует его с использованием шифра Цезаря и в конце расшифровывает, проверяя, что расшифрованное сообщение совпадает с исходным.
Обратите внимание, что использование
Подпишись 👉🏻 @KodduuPython 🤖
import string
import random
# Функция шифрования текста шифром Цезаря
def caesar_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
offset = 65 if char.isupper() else 97
encrypted_text += chr((ord(char) + shift - offset) % 26 + offset)
else:
encrypted_text += char
return encrypted_text
# Функция расшифровки текста шифром Цезаря
def caesar_decrypt(encrypted_text, shift):
return caesar_encrypt(encrypted_text, -shift)
# Функция генерации случайного сообщения
def generate_random_message(length):
letters = string.ascii_letters + " " # Пространство и буквы для сообщения
return ''.join(random.choice(letters) for i in range(length))
# Генерация и шифрование сообщения
random_message = generate_random_message(50)
shift = random.randint(1, 25)
encrypted_message = caesar_encrypt(random_message, shift)
print(f"Original message: {random_message}")
print(f"Encrypted message with shift {shift}: {encrypted_message}")
# Попробуем расшифровать
decrypted_message = caesar_decrypt(encrypted_message, shift)
print(f"Decrypted message: {decrypted_message}")
# Проверка, верно ли расшифровано сообщение
assert random_message == decrypted_message
Этот код сначала генерирует случайное сообщение, затем шифрует его с использованием шифра Цезаря и в конце расшифровывает, проверяя, что расшифрованное сообщение совпадает с исходным.
Обратите внимание, что использование
assert в конце — это способ проверки, что после всех операций шифрования и дешифрования мы получаем исходное сообщение. Если утверждение assert не истинно, программа вызовет ошибку. Это хорошая практика для отладки и удостоверения, что функции работают как ожидается.Подпишись 👉🏻 @KodduuPython 🤖
Давайте создадим что-то оригинальное и интерактивное — например, скрипт, который позволяет пользователю "рисовать" в консоли, используя клавиатуру. Пользователь сможет перемещаться по консоли с помощью клавиш WASD и оставлять звездочки (*), создавая простые рисунки.
Этот скрипт создает простой текстовый интерфейс, где пользователь может "рисовать", перемещаясь по "холсту" и оставляя звездочки. Как только пользователь нажимает 'q', программа завершается, показывая последнее состояние "холста".
Примечание: Этот код предназначен для запуска в среде Windows, поскольку используется
Подпишись 👉🏻 @KodduuPython 🤖
import os
import sys
import msvcrt
# Инициализируем "холст" для рисования
width, height = 40, 20 # Размер холста
cursor_x, cursor_y = width // 2, height // 2 # Начальное положение курсора
canvas = [[" " for _ in range(width)] for _ in range(height)]
canvas[cursor_y][cursor_x] = "*" # Рисуем начальную точку
# Отображение холста
def print_canvas(canvas):
os.system('cls' if os.name == 'nt' else 'clear') # Очищаем экран
for row in canvas:
print("".join(row))
# Обновление позиции курсора на холсте
def update_canvas(x, y, canvas):
if 0 <= x < width and 0 <= y < height:
canvas[y][x] = "*"
return canvas
# Печать инструкций
print("Use WASD keys to move around and draw. Press 'q' to quit.")
# Главный цикл
while True:
print_canvas(canvas)
# Получаем ввод от пользователя
if msvcrt.kbhit():
key = msvcrt.getch().decode().lower()
if key == 'q':
break # Выходим из программы
elif key == 'w':
cursor_y = max(0, cursor_y - 1)
elif key == 's':
cursor_y = min(height - 1, cursor_y + 1)
elif key == 'a':
cursor_x = max(0, cursor_x - 1)
elif key == 'd':
cursor_x = min(width - 1, cursor_x + 1)
canvas = update_canvas(cursor_x, cursor_y, canvas)
# Перед выходом очищаем экран и печатаем итоговый рисунок
os.system('cls' if os.name == 'nt' else 'clear')
print_canvas(canvas)
Этот скрипт создает простой текстовый интерфейс, где пользователь может "рисовать", перемещаясь по "холсту" и оставляя звездочки. Как только пользователь нажимает 'q', программа завершается, показывая последнее состояние "холста".
Примечание: Этот код предназначен для запуска в среде Windows, поскольку используется
msvcrt для не блокирующего ввода и cls для очистки экрана. Для других операционных систем потребуются изменения.Подпишись 👉🏻 @KodduuPython 🤖
Давайте попробуем что-то совершенно иное: создадим простой генератор музыки на Python. Мы будем использовать библиотеку
Сначала вам нужно будет установить библиотеку
Теперь, когда у нас есть
Этот скрипт генерирует случайную мелодию в диапазоне одной октавы (C4-C5) в C мажорной гамме и сохраняет её в MIDI файле. Вы можете воспроизвести этот файл с помощью любого стандартного MIDI плеера.
Такой подход может быть начальной точкой для создания более сложной системы генерации музыки, которая учитывает гармонии, ритм и музыкальные формы.
Подпишись 👉🏻 @KodduuPython 🤖
pyknon, которая не так широко известна, но позволяет создавать музыкальные ноты и мелодии.Сначала вам нужно будет установить библиотеку
pyknon:pip install pyknon
Теперь, когда у нас есть
pyknon, давайте напишем скрипт для создания случайной мелодии:from pyknon.genmidi import Midi
from pyknon.music import NoteSeq, Note
import random
def generate_random_melody(num_notes, note_duration=1/4):
scale = ['c', 'd', 'e', 'f', 'g', 'a', 'b'] # C мажор
melody = NoteSeq()
for _ in range(num_notes):
pitch = random.choice(scale) + str(random.randint(4, 5))
note = Note(pitch=pitch, duration=note_duration)
melody.append(note)
return melody
# Генерируем случайную мелодию из 20 нот
random_melody = generate_random_melody(20)
# Создаем MIDI файл
midi = Midi(1, tempo=120)
midi.seq_notes(random_melody, track=0)
# Сохраняем MIDI файл
midi.write("random_melody.mid")
print("Случайная мелодия была создана и сохранена в файл 'random_melody.mid'.")
Этот скрипт генерирует случайную мелодию в диапазоне одной октавы (C4-C5) в C мажорной гамме и сохраняет её в MIDI файле. Вы можете воспроизвести этот файл с помощью любого стандартного MIDI плеера.
Такой подход может быть начальной точкой для создания более сложной системы генерации музыки, которая учитывает гармонии, ритм и музыкальные формы.
Подпишись 👉🏻 @KodduuPython 🤖
Давайте попробуем создать скрипт на Python, который может выступать в качестве базового "искусственного интеллекта" для общения. Он будет использовать простую систему правил для определения ответов на входные данные пользователя.
Этот скрипт просто проверяет, содержит ли ввод пользователя определенные ключевые слова, и отвечает соответствующими фразами из словаря. Если скрипт не находит подходящего ответа, он говорит, что не понимает ввод.
Это довольно примитивная реализация, но она демонстрирует основной принцип создания скриптов для общения, который можно усложнить, используя более продвинутые методы обработки естественного языка и машинного обучения.
Подпишись 👉🏻 @KodduuPython 🤖
import random
# Словарь соответствий ключевых слов и ответов
keywords_to_responses = {
"привет": ["Привет!", "Здравствуй!", "Доброго времени суток!"],
"как дела": ["Отлично, спасибо!", "Все хорошо, как у тебя?", "Замечательно, а у тебя?"],
"пока": ["До свидания!", "Пока!", "Буду скучать!"],
}
# Функция для получения ответа на основе ввода пользователя
def get_response(user_input):
for keyword, responses in keywords_to_responses.items():
if keyword in user_input.lower():
return random.choice(responses)
return "Извините, я вас не понял."
# Главный цикл общения
while True:
user_input = input("Вы: ")
response = get_response(user_input)
print(f"ИИ: {response}")
if user_input.lower() in ["пока", "до свидания"]:
break
Этот скрипт просто проверяет, содержит ли ввод пользователя определенные ключевые слова, и отвечает соответствующими фразами из словаря. Если скрипт не находит подходящего ответа, он говорит, что не понимает ввод.
Это довольно примитивная реализация, но она демонстрирует основной принцип создания скриптов для общения, который можно усложнить, используя более продвинутые методы обработки естественного языка и машинного обучения.
Подпишись 👉🏻 @KodduuPython 🤖