Files
quiz_test/tools/demo_improvements.py
Andrey K. Choi b0346e4bd7
Some checks reported errors
continuous-integration/drone/push Build encountered an error
cleaning root
2025-09-11 08:18:31 +09:00

136 lines
5.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
Демонстрация новой функциональности Quiz Bot
"""
import asyncio
import random
def demonstrate_shuffle_feature():
"""Демонстрация рандомизации ответов"""
print("🔄 ДЕМОНСТРАЦИЯ РАНДОМИЗАЦИИ ОТВЕТОВ")
print("=" * 50)
# Пример вопроса
original_question = {
'question': 'Как по-корейски "привет"?',
'option1': '안녕하세요', # Правильный ответ
'option2': '감사합니다',
'option3': '죄송합니다',
'option4': '안녕히가세요',
'correct_answer': 1
}
print(f"📝 Исходный вопрос: {original_question['question']}")
print(f"✅ Правильный ответ: {original_question['option1']} (позиция {original_question['correct_answer']})")
print()
# Симулируем перемешивание несколько раз
for i in range(3):
print(f"🎲 Попытка {i+1}:")
# Копируем исходные варианты
options = [
original_question['option1'],
original_question['option2'],
original_question['option3'],
original_question['option4']
]
correct_answer_text = options[original_question['correct_answer'] - 1]
# Перемешиваем
random.shuffle(options)
# Находим новую позицию
new_position = options.index(correct_answer_text) + 1
print(f" 1. {options[0]} {'' if new_position == 1 else ''}")
print(f" 2. {options[1]} {'' if new_position == 2 else ''}")
print(f" 3. {options[2]} {'' if new_position == 3 else ''}")
print(f" 4. {options[3]} {'' if new_position == 4 else ''}")
print(f" Правильный ответ теперь на позиции: {new_position}")
print()
def demonstrate_mode_differences():
"""Демонстрация различий между режимами"""
print("🎮 РАЗЛИЧИЯ МЕЖДУ РЕЖИМАМИ")
print("=" * 50)
print("🎯 ГОСТЕВОЙ РЕЖИМ:")
print(" ✅ Показывает правильный ответ")
print(" ⏸️ Требует нажатия 'Следующий вопрос'")
print(" 🎪 Развлекательная атмосфера")
print(" 📊 5 вопросов")
print(" 🔄 Варианты НЕ перемешиваются")
print()
print("📚 ТЕСТОВЫЙ РЕЖИМ:")
print("НЕ показывает правильный ответ")
print(" ⚡ Автоматический переход к следующему")
print(" 🎓 Серьезная атмосфера экзамена")
print(" 📊 10 вопросов")
print(" 🎲 Варианты перемешиваются каждый раз")
print()
def demonstrate_statistics():
"""Демонстрация новой статистики"""
print("📊 НОВАЯ РАСШИРЕННАЯ СТАТИСТИКА")
print("=" * 50)
# Пример статистики
stats_example = """📊 **Ваша статистика:**
📈 **Общие показатели:**
Всего вопросов: 87
✅ Правильных ответов: 65
🎯 Общая точность: 74.7%
🎪 Завершенных сессий: 9
🏆 Лучший результат: 95.0%
📊 Средний балл: 76.8%
🎮 **По режимам:**
🎯 Гостевые викторины: 4
📚 Серьезные тесты: 5
🏷️ **По категориям:**
📖 корейский: 7 попыток, 78.5% точность
📖 английский: 2 попытки, 65.0% точность
📈 **Последние результаты:**
📚 95.0% (19/20)
🎯 80.0% (4/5)
📚 75.0% (15/20)"""
print(stats_example)
print()
def main():
"""Главная функция демонстрации"""
print("🤖 QUIZ BOT - ДЕМОНСТРАЦИЯ НОВЫХ ВОЗМОЖНОСТЕЙ")
print("=" * 60)
print()
demonstrate_mode_differences()
demonstrate_shuffle_feature()
demonstrate_statistics()
print("🎉 ЗАКЛЮЧЕНИЕ")
print("=" * 50)
print("✅ Режим тестирования стал более серьезным")
print("✅ Рандомизация делает каждый тест уникальным")
print("✅ Статистика стала намного детальнее")
print("✅ Два режима для разных целей:")
print(" 🎯 Гостевой - для развлечения")
print(" 📚 Тестовый - для серьезного изучения")
print()
print("🚀 Бот готов к использованию: @testquiz11111_bot")
print("📱 Команды: /start, /help, /stats")
if __name__ == "__main__":
main()