136 lines
5.1 KiB
Python
136 lines
5.1 KiB
Python
#!/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()
|