Kodduu Python
1.07K subscribers
313 photos
28 videos
188 links
Научись программировать на Python на интересных примерах

Самый быстрый курс https://stepik.org/a/187914
Самый нескучный курс https://stepik.org/a/185238

Во вопросам сотрудничества: @AlexErf
Download Telegram
Если у Вас есть знакомые и друзья кому тоже некогда, но надо с чего то начать в ИТ, то самый короткий курс по Python (как раз чтобы пройти на январских праздниках) будет лучшим подарком. Скидка прилагается 🎅
Как насчет создания небольшой программы на Python для генерации QR-кодов? Это полезно для различных задач, например, для быстрого создания ссылок, информации о контактах или Wi-Fi паролей в формате QR-кода. Мы воспользуемся библиотекой qrcode для генерации QR-кодов.

Для начала вам нужно установить библиотеку qrcode, если она ещё не установлена. Это можно сделать с помощью pip:

pip install qrcode[pil]


Теперь, когда у нас есть необходимая библиотека, давайте напишем код:

import qrcode
from PIL import Image

def generate_qr_code(data):
# Создание экземпляра QR-кода
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)

# Создание изображения QR-кода
img = qr.make_image(fill_color="black", back_color="white")

# Сохранение или отображение QR-кода
img.save("qr_code.png")
img.show()

# Пример использования функции
data = 'https://www.example.com' # Замените на данные, которые вы хотите закодировать
generate_qr_code(data)


В этом коде функция generate_qr_code принимает строку (например, URL-адрес) и генерирует соответствующий QR-код. Сгенерированный QR-код сохраняется в файле qr_code.png и отображается на экране.

Это простой и практичный пример, который можно использовать для быстрого создания QR-кодов для различных нужд.

Подпишись 👉🏻 @KodduuPython 🤖
🔥2
Давайте создадим забавную игру на Python. Игра будет запрашивать у пользователя ввести пароль, а затем каждый раз предъявлять всё более странные и смешные требования к паролю. Вот пример такого кода:

import random
import string
import time

def contains_three_digits(password):
return sum(c.isdigit() for c in password) >= 3

def no_abc(password):
return all(c not in 'abc' for c in password)

def starts_and_ends_with_digit(password):
return password[0].isdigit() and password[-1].isdigit()

def length_between_10_and_15(password):
return 10 <= len(password) <= 15

def contains_punctuation(password):
return any(c in string.punctuation for c in password)

def no_vowels(password):
return all(c not in 'aeiouAEIOU' for c in password)

def contains_upper_and_lower(password):
return any(c.isupper() for c in password) and any(c.islower() for c in password)

def is_palindrome(password):
return password == password[::-1]

def contains_current_time(password):
current_time = time.strftime("%H:%M")
return current_time in password

def not_in_full_name(password, full_name):
return all(c.lower() not in full_name.lower() for c in password)

# Список требований и соответствующих функций
demands = [
("Пароль должен содержать хотя бы три цифры.", contains_three_digits),
("Пароль не должен содержать буквы 'a', 'b' и 'c'.", no_abc),
("Пароль должен начинаться и заканчиваться цифрой.", starts_and_ends_with_digit),
("Пароль должен быть длиннее 10 символов, но короче 15.", length_between_10_and_15),
("Пароль должен содержать хотя бы один знак пунктуации.", contains_punctuation),
("Пароль не должен содержать гласных букв.", no_vowels),
("Пароль должен содержать хотя бы одну заглавную и одну строчную букву.", contains_upper_and_lower),
("Пароль должен быть палиндромом.", is_palindrome),
("Пароль должен содержать текущее время до минуты.", contains_current_time),
# Для следующего требования нужно ввести своё полное имя
("Пароль должен быть составлен только из букв, которые не входят в ваше полное имя.", lambda p: not_in_full_name(p, "ВашеПолноеИмя"))
]

def get_random_demand():
return random.choice(demands)

print("Добро пожаловать в игру 'Невозможный пароль'!")

current_demand_text, current_demand_func = get_random_demand()
print(f"Требование к паролю: {current_demand_text}")
password = input("Введите ваш пароль: ")

while True:
if current_demand_func(password):
print(f"Отлично! Вы выполнили требование: {current_demand_text}")
current_demand_text, current_demand_func = get_random_demand()
print(f"Новое требование к паролю: {current_demand_text}")
else:
print(f"Требование не выполнено: {current_demand_text}")
password = input("Введите пароль: ")


Подпишись 👉🏻 @KodduuPython 🤖🎅
Давайте создадим ещё одну забавную игру на Python. Эта игра будет называться "Угадай число с подсказками". Игрок должен будет угадать случайное число от 1 до 100, а программа будет давать смешные и необычные подсказки, чтобы помочь ему.

Вот пример кода для этой игры:

import random

def generate_hint(number, guess):
if guess < number:
return random.choice([
"Слишком низко, как температура пингвинов в Антарктиде!",
"Как карликовая планета, ты не дотягиваешь до стандартов!",
"Это число, как мои ожидания от последнего фильма, ниже, чем нужно."
])
elif guess > number:
return random.choice([
"Слишком высоко, как спутник в космосе!",
"Это число больше, чем количество уток, которые я видел вчера в парке!",
"Ты промахнулся, как археолог, копающий в неправильном месте."
])
else:
return "Поздравляю! Ты угадал число!"

def guess_the_number():
number_to_guess = random.randint(1, 100)
attempts = 0

print("Добро пожаловать в игру 'Угадай число с подсказками'!")
print("Я загадал число от 1 до 100. Попробуй угадать его!")

while True:
try:
guess = int(input("Введи число: "))
attempts += 1
hint = generate_hint(number_to_guess, guess)

print(hint)

if guess == number_to_guess:
print(f"Ты угадал число за {attempts} попыток!")
break
except ValueError:
print("Пожалуйста, вводи только числа.")

guess_the_number()


В этой игре программа загадывает число от 1 до 100, а игрок пытается его угадать. После каждой попытки программа предоставляет забавные подсказки, которые подталкивают игрока в правильном направлении. Это делает игру весёлой и интерактивной.

Подпишись 👉🏻 @KodduuPython 🤖🎅
Давайте создадим ещё одну забавную игру. Назовём её "Волшебный шар предсказаний". Это будет интерактивная игра, где пользователь задаёт вопрос, а программа даёт случайный забавный или мудрый ответ, подобно волшебному шару 8.

Вот пример кода для этой игры:

import random

def get_prediction():
responses = [
"Бесспорно",
"Предрешено",
"Никаких сомнений",
"Определённо да",
"Можешь быть уверен в этом",
"Мне кажется — да",
"Вероятнее всего",
"Хорошие перспективы",
"Знаки говорят — да",
"Да",
"Пока не ясно, попробуй снова",
"Спроси позже",
"Лучше не рассказывать",
"Сейчас нельзя предсказать",
"Сконцентрируйся и спроси опять",
"Даже не думай",
"Мой ответ — нет",
"По моим данным — нет",
"Перспективы не очень хорошие",
"Весьма сомнительно"
]
return random.choice(responses)

def magic_8_ball():
print("Добро пожаловать в 'Волшебный шар предсказаний'!")
print("Задай вопрос, и я дам ответ на него.")

while True:
question = input("Задай свой вопрос (или введи 'выход' для завершения игры): ")
if question.lower() == 'выход':
break
else:
prediction = get_prediction()
print(f"Волшебный шар говорит: {prediction}")

magic_8_ball()


В этой игре пользователь может задать любой вопрос, и программа предоставит случайный ответ из заранее подготовленного списка. Это интерактивный и забавный способ имитировать классическую игрушку "волшебный шар 8".

Подпишись 👉🏻 @KodduuPython 🤖🎅
Если пока еще не решили что дарить на НГ - не забудьте про самый короткий курс по Python, пoдoйдёт всем кто хочет начать карьеру в ИТ. Скидка в силе!
Давайте создадим ещё одну забавную игру под названием "Быки и коровы". Это классическая игра на угадывание чисел, где игрок должен отгадать секретное число, состоящее из 4 уникальных цифр. После каждой попытки игрок получает подсказки в виде числа "быков" (цифры на правильных позициях) и "коров" (правильные цифры, но на неправильных позициях).

Вот пример кода для этой игры:

import random

def generate_secret_number():
digits = list('0123456789')
random.shuffle(digits)
return ''.join(digits[:4])

def get_bulls_and_cows(secret, guess):
bulls = cows = 0
for i in range(4):
if guess[i] == secret[i]:
bulls += 1
elif guess[i] in secret:
cows += 1
return bulls, cows

def bulls_and_cows_game():
secret_number = generate_secret_number()
attempts = 0

print("Добро пожаловать в игру 'Быки и коровы'!")
print("Я загадал четырехзначное число с разными цифрами. Попробуй угадать его.")

while True:
guess = input("Введите ваше число: ")
if len(guess) != 4 or not guess.isdigit() or len(set(guess)) != 4:
print("Введи корректное четырехзначное число с разными цифрами.")
continue

attempts += 1
bulls, cows = get_bulls_and_cows(secret_number, guess)

print(f"{bulls} Быки, {cows} Коровы")

if bulls == 4:
print(f"Поздравляю! Ты угадал число за {attempts} попыток!")
break

bulls_and_cows_game()


В этой игре игрок вводит четырехзначное число, и программа сообщает, сколько в этом числе "быков" и "коров". Игра продолжается до тех пор, пока игрок не угадает все цифры в правильном порядке.

Подпишись 👉🏻 @KodduuPython 🤖🎅
Давайте создадим игру под название "Аукцион слов". В этой игре игрок должен составлять слова из предложенных букв, но есть одно правило - каждое следующее слово должно быть длиннее предыдущего.

Вот пример кода для этой игры:

import random
import string

def generate_letters(n=7):
return random.sample(string.ascii_lowercase, n)

def is_valid_word(word, letters):
temp = list(letters)
for letter in word:
if letter in temp:
temp.remove(letter)
else:
return False
return True

def word_auction_game():
letters = generate_letters()
print("Добро пожаловать в игру 'Аукцион слов'!")
print(f"Используй эти буквы, чтобы составлять слова: {' '.join(letters)}")
print("Каждое следующее слово должно быть длиннее предыдущего.")

last_word_length = 0

while True:
word = input("Введите слово (или 'выход' для завершения игры): ").lower()

if word == 'выход':
break

if not is_valid_word(word, letters):
print("Некорректное слово! Используйте только предложенные буквы.")
continue

if len(word) <= last_word_length:
print(f"Слово должно быть длиннее, чем {last_word_length} букв.")
continue

last_word_length = len(word)
print(f"Отлично! Ваше слово: {word}")

word_auction_game()


В этой игре программа генерирует случайный набор букв, и игрок пытается составлять из них слова. Каждое новое слово должно быть длиннее предыдущего, и все буквы в слове должны быть из предложенного набора. Это интересный способ проверить словарный запас и креативность игрока.

Подпишись 👉🏻 @KodduuPython 🤖🎅
Давайте создадим игру под названием "Тайный агент". Это будет текстовая приключенческая игра, где игроку предстоит решать различные загадки, чтобы выполнить свою миссию. Игра будет включать элементы выбора действий и последствий.

Вот пример кода для этой игры:

import random

def introduction():
print("Добро пожаловать в игру 'Тайный агент'!")
print("Ваша миссия - найти и деактивировать скрытую бомбу в городе.")
print("Для этого вам предстоит решать загадки и делать выборы.")
print("Будьте осторожны, каждый ваш шаг имеет последствия!")

def make_choice(options):
for i, option in enumerate(options, 1):
print(f"{i}. {option}")
choice = input("Что вы выберете? (Введите номер опции): ")
return int(choice) - 1

def bomb_defusal():
print("\nВы нашли бомбу! Теперь нужно её обезвредить.")
wire_colors = ["красный", "синий", "зелёный", "жёлтый"]
correct_wire = random.choice(wire_colors)

print("Перед вами бомба с четырьмя проводами: красный, синий, зелёный и жёлтый.")
choice = make_choice(wire_colors)

if wire_colors[choice] == correct_wire:
print("Поздравляю, вы правильно выбрали провод и обезвредили бомбу! Миссия выполнена.")
else:
print("К сожалению, вы выбрали неправильный провод. Бомба взорвалась. Игра окончена.")

def secret_agent_game():
introduction()

# Пример загадки
print("\nВы на месте. Вам нужно найти бомбу. У вас есть два пути:")
choice = make_choice(["Пойти налево", "Пойти направо"])

if choice == 0:
print("Вы выбрали путь налево и нашли подозрительный чемодан.")
bomb_defusal()
else:
print("Вы выбрали путь направо и угодили в ловушку. Игра окончена.")

secret_agent_game()


В этой игре игрок в роли тайного агента пытается найти и обезвредить бомбу. По ходу игры ему предстоит делать выборы, которые влияют на исход миссии. Это интерактивная и увлекательная игра, где каждое решение имеет значение.

Подпишись 👉🏻 @KodduuPython 🤖🎅
Давайте создадим абсурдно-смешную игру под названием "Инвазия космических уток". В этой игре игрок - командир отряда защитников Земли, который должен отбивать атаки космических уток, используя различные смешные и необычные методы.

import random

def introduction():
print("Добро пожаловать в игру 'Инвазия космических уток'!")
print("Космические утки решили захватить Землю, и только ты можешь их остановить.")
print("Выбирай защитные действия и спаси мир от утиной угрозы!")

def choose_defense():
options = [
"Запустить ракеты с кукурузой",
"Использовать гигантский лазерный кот",
"Активировать армию роботов-садовников",
"Отправить на помощь отряд ниндзя-кроликов"
]
print("\nКосмические утки атакуют! Как вы будете защищаться?")
for i, option in enumerate(options, 1):
print(f"{i}. {option}")

choice = int(input("Выберите действие (введите номер): ")) - 1
return options[choice]

def battle_result(defense):
results = [
"Космические утки испугались и улетели!",
"Утки оказались аллергиками на ваше оружие! Атака отражена!",
"Утки нейтрализованы, но они отправили сигнал о помощи!",
"О нет! Утки адаптировались к вашей защите!"
]
print(f"Вы использовали {defense}.")
print(random.choice(results))

def space_ducks_invasion():
introduction()

while True:
defense = choose_defense()
battle_result(defense)

if input("\nПродолжить защиту? (да/нет): ").lower() != 'да':
print("Спасибо за игру! Земля временно в безопасности.")
break

space_ducks_invasion()


В этой игре игрок должен выбирать из списка абсурдных способов защиты Земли от космических уток. После каждого выбора программа сообщает результат битвы, который также выбирается случайно, добавляя элемент неожиданности и веселья в игру.

Подпишись 👉🏻 @KodduuPython 🤖🎅
👍2
С наступающим Вас 🎅🎄Счастья, успехов и развития Вам! А чтобы стать умнее и больше зарабатывать Вам доступны скидки в 1000 рублей на каждый наш курс по Python:

🏎 Самый быстрый курс по Python для тех у кого нет времени

🤩 Самый нескучный курс по Python с 50 примерами боевого кода

by kodduu.ru и @KodduuPython
👏2