Как написать программу про гадалку

Хочешь создать свой цифровой оракул? Узнай, как написать программу про гадалку с нуля! Заставь код предсказывать будущее и удивлять друзей.

Хотите создать собственную цифровую гадалку, которая будет «предсказывать» будущее? Это отличный способ научиться программировать на Python! В этой статье мы шаг за шагом создадим интерактивную гадалку, которую можно запустить прямо на компьютере или даже превратить в мобильное приложение.

Что мы создадим?

Наша гадалка будет:

  • Спрашивать имя пользователя
  • Предлагать выбрать категорию вопроса (любовь, карьера, здоровье)
  • Выдавать случайное «предсказание» с магическим оформлением
  • Сохранять историю предсказаний

Шаг 1: Подготовка окружения

Для начала установим необходимые библиотеки:


import random
import time
import json
from datetime import datetime

Шаг 2: Создаем базу предсказаний

Сначала создадим «базу знаний» для нашей гадалки:

predictions = {
«любовь»: [
«💕 Ваше сердце скоро встретит родственную душу»,
«❤️ Старые чувства вернутся с новой силой»,
«💝 В ближайшие дни вы получите признание в любви»,
«💔 Будьте осторожны в отношениях в течение недели»
],
«карьера»: [
«📈 Неожиданное повышение уже на подходе»,
«💼 Ваши идеи будут оценены по достоинству»,
«📊 Начните новый проект ౼ он принесет успех»,
«⏰ Время сменить работу пришло»
],
«здоровье»: [
«🌱 Обратите внимание на режим сна»,
«🍎 Включите в рацион больше свежих овощей»,
«🏃‍♂️ Спорт принесет вам энергию»,
«🧘 Займитесь медитацией для внутреннего баланса»
]
}

Шаг 3: Создаем класс Гадалки

Используем объектно-ориентированное программирование для создания гибкой системы:

class FortuneTeller:
def __init__(self):
self.user_name = «»
self.history = []

def welcome(self):
print(»
✨ Добро пожаловать в цифровую гадалку! ✨»)
print(«-» * 40)
self.user_name = input(«Как вас зовут? «)

def choose_category(self):
print(f»
{self.user_name}, выберите категорию вопроса:»)
print(«1. 💕 Любовь»)
print(«2. 💼 Карьера»)
print(«3. 🏥 Здоровье»)

choice = input(«Ваш выбор (1-3): «)
categories = {«1»: «любовь», «2»: «карьера», «3»: «здоровье»}
return categories.get(choice, «любовь»)

def predict(self, category):
prediction = random.choice(predictions[category])
timestamp = datetime.now.strftime(«%d.%m.%Y %H:%M»)

# Создаем эффект «магического процесса»
print(»
🔮 Ворожу на кофейной гуще…»)
time.sleep(2)
print(«✨ Шары хрустальные показывают…»)
time.sleep(2)

return {
«category»: category,
«prediction»: prediction,
«timestamp»: timestamp
}

def save_prediction(self, prediction_data):
self.history.append(prediction_data)
with open(«predictions_history.json», «w», encoding=»utf-8″) as f:
json.dump(self.history, f, ensure_ascii=False, indent=2)

def show_history(self):
if not self.history:
print(»
📭 История предсказаний пуста»)
return

print(f»
📜 История предсказаний для {self.user_name}:»)
print(«-» * 40)
for item in self.history[-5:]: # Показываем последние 5
print(f»{item[‘timestamp’]} ⎻ {item[‘category’]}: {item[‘prediction’]}»)

Шаг 4: Собираем все вместе

Создаем основной цикл программы:

def main:
ft = FortuneTeller
ft.welcome

while True:
print(f»
Что желаете узнать, {ft.user_name}?»)
print(«1. Получить предсказание»)
print(«2. Посмотреть историю»)
print(«3. Выйти»)

choice = input(«Ваш выбор: «)
if choice == «1»:
category = ft.choose_category
prediction = ft.predict(category)
print(f»
🎯 Предсказание: {prediction[‘prediction’]}»)
ft.save_prediction(prediction)

elif choice == «2»:
ft.show_history

elif choice == «3»:
print(f»

До встречи, {ft.user_name}! Пусть магия всегда будет с вами! ✨»)
break

else:
print(«Пожалуйста, выберите 1, 2 или 3»)

if __name__ == «__main__»:
main

Шаг 5: Добавляем звуковые эффекты и анимацию

Для создания более атмосферной гадалки можно добавить:

def magic_effect:
symbols = [«🔮», «✨», «🌟», «💫»]
for _ in range(3):
for sym in symbols:
print(f»
{sym} Гадаю… {sym}», end=»»)
time.sleep(0.5)

Расширенные возможности для продвинутых

ИИ-гадалка с анализом настроения

from textblob import TextBlob

def analyze_mood(text):
blob = TextBlob(text)
if blob.sentiment.polarity > 0:
return «Позитивное настроение обещает удачу!»
else:
return «Не переживайте, тучи скоро рассеются»

Мобильное приложение с Kivy

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

class FortuneApp(App):
def build(self):
return FortuneLayout

Сохранение в CSV для анализа

import pandas as pd

def save_to_csv(history):
df = pd.DataFrame(history)
df.to_csv(«fortune_data.csv», index=False)

Как превратить в мобильное приложение

  1. Установите Kivy: pip install kivy
  2. Создайте файл main.py с интерфейсом
  3. Добавьте файл fortune.kv для дизайна
  4. Соберите APK через Buildozer

Идеи для улучшения

  • Астропрогноз: Добавьте расчет по дате рождения
  • Картинки: Используйте изображения карт Таро
  • Голосовой ввод: Добавьте распознавание речи
  • Совместимость: Сравнение характеров двух людей
  • Бирюзовые камни: Рекомендации по талисманам

Готовый код для быстрого запуска

Сохраните весь код в файл fortune_teller.py и запустите:

python fortune_teller.py

Создание программы-гадалки ౼ это не только весело, но и полезно для изучения Python. Вы освоили работу с классами, файлами, случайностями и пользовательским интерфейсом. Попробуйте модифицировать код: добавьте свои предсказания, категории или даже мини-игры!

Следующий шаг: Превратите свою гадалку в Telegram-бота или веб-приложение на Flask!