161 lines
8.1 KiB
Python
161 lines
8.1 KiB
Python
#!/usr/bin/env python3
|
||
"""Generate random cards from a predefined list."""
|
||
|
||
import random
|
||
import json
|
||
from datetime import datetime
|
||
|
||
# Predefined list of card options
|
||
CARD_OPTIONS = [
|
||
"Изучить React и TypeScript",
|
||
"Написать мобильное приложение",
|
||
"Запустить свой SaaS-продукт",
|
||
"Собрать первый миллион на крипто",
|
||
"Путешествие в Японию",
|
||
"Купить дом в деревне",
|
||
"Научиться играть на гитаре",
|
||
"Прочитать 50 книг за год",
|
||
"Запустить YouTube канал",
|
||
"Создать AI-бота для бизнеса",
|
||
"Собрать свой первый ПК",
|
||
"Выучить английский на C1",
|
||
"Написать книгу",
|
||
"Открыть кофейню",
|
||
"Сделать татуировку",
|
||
"Прыгнуть с парашютом",
|
||
"Пройти марафон",
|
||
"Выучить Python с нуля",
|
||
"Собрать сервер для дома",
|
||
"Запустить Telegram-бот",
|
||
"Создать свой дизайн-систему",
|
||
"Написать игру на Unity",
|
||
"Собрать умный дом",
|
||
"Выучить три языка",
|
||
"Построить баню",
|
||
"Купить машину мечты",
|
||
"Собрать коллекцию винила",
|
||
"Пройти курс по UX/UI",
|
||
"Создать подкаст",
|
||
"Написать приложение для заметок",
|
||
"Собрать свой первый drone",
|
||
"Выучить JavaScript",
|
||
"Создать свой сайт-портфолио",
|
||
"Научиться фотографировать",
|
||
"Собрать свой первый сервер",
|
||
"Запустить свой блог",
|
||
"Создать свой мессенджер",
|
||
"Выучить Rust",
|
||
"Собрать свой первый VR-шлем",
|
||
"Написать свой фреймворк",
|
||
"Создать свою операционную систему",
|
||
"Выучить машинное обучение",
|
||
"Собрать свой первый робот",
|
||
"Написать свой компилятор",
|
||
"Создать свою базу данных",
|
||
"Выучить ассемблер",
|
||
"Собрать свой первый суперкомпьютер",
|
||
"Написать свой процессор",
|
||
"Создать свою криптовалюту",
|
||
"Выучить квантовые вычисления",
|
||
"Собрать свой первый квантовый компьютер",
|
||
"Написать свой AI-модель",
|
||
"Создать свою нейросеть",
|
||
"Выучить нейронные сети",
|
||
"Собрать свой первый GPU-кластер",
|
||
"Написать свой GPU-драйвер",
|
||
"Создать свою операционную систему для GPU",
|
||
"Выучить FPGA-программирование",
|
||
"Собрать свой первый FPGA-ускоритель",
|
||
"Написать свой ASIC",
|
||
"Создать свою квантовую программу",
|
||
"Выучить квантовую физику",
|
||
"Собрать свой первый квантовый датчик",
|
||
"Написать свой квантовый алгоритм",
|
||
"Создать свою квантовую сеть",
|
||
"Выучить квантовую криптографию",
|
||
"Собрать свой первый квантовый ретранслятор",
|
||
"Написать свой квантовый протокол",
|
||
"Создать свою квантовую облачную платформу",
|
||
"Выучить квантовое машинное обучение",
|
||
"Собрать свой первый квантовый симулятор",
|
||
"Написать свой квантовый компилятор",
|
||
"Создать свою квантовую IDE",
|
||
"Выучить квантовое программирование",
|
||
"Собрать свой первый квантовый отладчик",
|
||
"Написать свой квантовый тестер",
|
||
"Создать свою квантовую документацию",
|
||
"Выучить квантовую математику",
|
||
"Собрать свой первый квантовый калькулятор",
|
||
"Написать свой квантовый solver",
|
||
"Создать свою квантовую оптимизацию",
|
||
"Выучить квантовую статистику",
|
||
"Собрать свой первый квантовый генератор случайных чисел",
|
||
"Написать свой квантовый шифр",
|
||
"Создать свою квантовую стеганографию",
|
||
"Выучить квантовую теорию игр",
|
||
"Собрать свой первый квантовый аукцион",
|
||
"Написать свой квантовый консенсус",
|
||
"Создать свою квантовую блокчейн",
|
||
"Выучить квантовую криптографию",
|
||
"Собрать свой первый квантовый ретранслятор",
|
||
"Написать свой квантовый протокол",
|
||
"Создать свою квантовую облачную платформу",
|
||
"Выучить квантовое машинное обучение",
|
||
"Собрать свой первый квантовый симулятор",
|
||
"Написать свой квантовый компилятор",
|
||
"Создать свою квантовую IDE",
|
||
"Выучить квантовое программирование",
|
||
"Собрать свой первый квантовый отладчик",
|
||
"Написать свой квантовый тестер",
|
||
"Создать свою квантовую документацию",
|
||
"Выучить квантовую математику",
|
||
"Собрать свой первый квантовый калькулятор",
|
||
"Написать свой квантовый solver",
|
||
"Создать свою квантовую оптимизацию",
|
||
"Выучить квантовую статистику",
|
||
"Собрать свой первый квантовый генератор случайных чисел",
|
||
"Написать свой квантовый шифр",
|
||
"Создать свою квантовую стеганографию",
|
||
"Выучить квантовую теорию игр",
|
||
"Собрать свой первый квантовый аукцион",
|
||
"Написать свой квантовый консенсус",
|
||
"Создать свою квантовую блокчейн",
|
||
]
|
||
|
||
def generate_random_cards(count=None):
|
||
"""Generate random cards from the predefined list."""
|
||
if count is None:
|
||
count = random.randint(1, 10)
|
||
|
||
selected_cards = random.sample(CARD_OPTIONS, min(count, len(CARD_OPTIONS)))
|
||
|
||
result = {
|
||
"generated_at": datetime.now().isoformat(),
|
||
"count": len(selected_cards),
|
||
"cards": selected_cards
|
||
}
|
||
|
||
return result
|
||
|
||
def print_cards(cards_data):
|
||
"""Print cards in a formatted way."""
|
||
print(f"\n📋 Сгенерировано карточек: {cards_data['count']}")
|
||
print(f"🕐 Время генерации: {cards_data['generated_at']}")
|
||
print("-" * 50)
|
||
|
||
for i, card in enumerate(cards_data['cards'], 1):
|
||
print(f"{i}. {card}")
|
||
|
||
print("-" * 50)
|
||
print(f"💡 Всего в списке: {len(CARD_OPTIONS)} вариантов")
|
||
|
||
if __name__ == "__main__":
|
||
# Generate random number of cards
|
||
cards_data = generate_random_cards()
|
||
print_cards(cards_data)
|
||
|
||
# Save to JSON
|
||
with open('/tmp/wish_cards.json', 'w') as f:
|
||
json.dump(cards_data, f, indent=2, ensure_ascii=False)
|
||
print(f"\n💾 Сохранено в /tmp/wish_cards.json")
|