Python код гадания гороскоп

Запусти Python код гадания, и магия пересечётся с технологиями! Взломай матрицу судьбы и получи свой уникальный гороскоп прямо сейчас.

Хотите своими руками создать небольшое гадание по знакам зодиака? Python позволяет реализовать это за считанные минуты без сторонних сервисов и сложных библиотек. Ниже приведён пошаговый пример программы‚ которая по дате рождения выводит знак зодиака и генерирует короткий гороскоп на сегодняшний день.

Что умеет наш «гороскоп-бот»

  • Определяет знак зодиака по дню и месяцу.
  • Генерирует случайное‚ но связное «предсказание».
  • Может легко расширяться до полноценного Telegram-бота.

Минимальные требования

Достаточно стандартной библиотеки Python 3.8+.
Дополнительно (опционально) установите python-telegram-bot‚ если хотите разместить бота в Telegram:

pip install python-telegram-bot --upgrade

Определяем знак по дате

Создадим словарь с диапазонами дат и функцию get_sign:

import datetime

SIGNS = {
 (1‚ 20): "Козерог"‚ (2‚ 19): "Водолей"‚ (3‚ 21): "Рыбы"‚
 (4‚ 20): "Овен"‚ (5‚ 21): "Телец"‚ (6‚ 21): "Близнецы"‚
 (7‚ 22): "Рак"‚ (8‚ 23): "Лев"‚ (9‚ 23): "Дева"‚
 (10‚ 23): "Весы"‚ (11‚ 23): "Скорпион"‚ (12‚ 22): "Стрелец"‚
 (12‚ 31): "Козерог"
}

def get_sign(month: int‚ day: int) -> str:
 for (m‚ d)‚ sign in SIGNS.items:
 if (month‚ day) <= (m‚ d):
 return sign
 return "Козерог"

Генерируем текст гороскопа

Чтобы не парсить сторонние сайты‚ сохраним набор «фраз-заготовок» и случайно их комбинируем:

import random

TEMPLATES = {
 "Овен": [
 "Сегодня звёзды сулят вам приток энергии — время начать новый проект."‚
 "Возможны неожиданные встречи‚ которые перевернут привычный ход дел."
 ]‚
 "Телец": [
 "Финансовое положение улучшится‚ если вы проявите настойчивость."‚
 "День благоприятен для крупных покупок и инвестиций."
 ]‚
 # ... добавьте свои шаблоны для остальных знаков
}

def generate_horoscope(sign: str) -> str:
 lines = TEMPLATES.get(sign‚ ["Сегодня полагайтесь на интуицию."])
 return f"{sign}
{random.choice(lines)}"

Склейка в простую CLI-программу

Теперь всё соберём воедино:

if __name__ == "__main__":
 birth = input("Введите дату рождения (ДД.ММ): ")
 day‚ month = map(int‚ birth.split("."))
 sign = get_sign(month‚ day)
 print(generate_horoscope(sign))

Запустите файл и введите 29.04 — получите‚ например:

  • Телец
  • День благоприятен для крупных покупок и инвестиций.

Telegram-бот за 15 строк

Добавляем импорт библиотеки telebot и создаём обработчик команды /start. День и месяц бот запрашивает в диалоге:

import telebot
TOKEN = "ВАШ_ТОКЕН_ОТ_BOTFATHER"
bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def start_message(message):
 bot.send_message(message.chat.id‚
 "Привет! Напиши свою дату рождения в формате ДД.ММ.")
@bot.message_handler(func=lambda m: True)
def horoscope_handler(message):
 try:
 d‚ m = map(int‚ message.text.split("."))
 sign = get_sign(m‚ d)
 bot.reply_to(message‚ generate_horoscope(sign))
 except Exception:
 bot.reply_to(message‚ "Формат: ДД.ММ‚ например 29.04")

bot.polling

Как расширить функционал

  1. Парсинг реального сайта: используйте requests + BeautifulSoup‚ чтобы забрать гороскоп c horoscope.com или astroscope.ru.
  2. База данных: храните текстовые шаблоны в SQLite и обновляйте их через админ-бота;
  3. Многоязычность: заведите словари на русском/английском и выбирайте язык через команду /lang.

За 30 минут мы написали:

• CLI-версию гороскопа;

• готовый Telegram-бота;

• легко расширяемый каркас.

Теперь вы можете не только «читать» звёзды‚ но и делиться собственными предсказаниями с друзьями прямо в мессенджере!