• 1
    إدخال وإخراج البيانات
    • المهام
  • 2
    الشروط
    • المهام
  • 3
    حلقة for
    • المهام
  • 4
    السلاسل النصية
    • المهام
  • 5
    حلقة while
    • المهام
  • 6
    القوائم
    • المهام
  • 7
    مصفوفات ثنائية الأبعاد
    • المهام
  • 8
    القواميس
    • المهام
  • 9
    المجموعات
    • المهام
  • 10
    الدوال والتكرار
    • المهام
  • к

درس 2. Conditions

الصعوبة:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

مسألة«محلل تشفير»

💻 Python

أنت & mdash; المساعد المبتدئ في قسم التشفير. زميلك الأقدم يعمل على فك تشفير رسالة مهمة مكتوبة باللغة الإنجليزية باستخدام تحليل التردد. لقد حدد بالفعل أي رمز في الشيفرة هو الأكثر تكرارًا. الآن يحتاج إلى التحقق من عدة فرضيات حول الحرف الإنجليزي الذي يتوافق مع هذا الرمز.

مهمتك & mdash; كتابة برنامج يساعد في تقييم معقولية الفرضية بسرعة. يجب أن يطلب البرنامج رسالة مشفرة (ضرورية للسياق، ولكن ليس مطلوبًا تحليلها) والحرف-المفتاح المفترض (ذلك الذي، وفقًا للفرضية، يتم فك الرمز الأكثر تكرارًا إليه).

بناءً على المعرفة العامة حول تردد الحروف في اللغة الإنجليزية، يجب على البرنامج إصدار حكم حول احتمالية المفتاح وفقًا للقواعد التالية:

  • إذا كان المفتاح المفترض & mdash; هو الحرف & nbsp; 'E' ، فهذا هو الخيار الأكثر احتمالًا، لأن 'E' & mdash; الحرف الأكثر شيوعًا في اللغة الإنجليزية.
  • إذا كان المفتاح & mdash; واحدًا من حروف العلة المتكررة الأخرى ( 'A' ، & nbsp; 'O' ، & nbsp; 'I' )، فهذا خيار محتمل.
  • إذا كان المفتاح & mdash; واحدًا من أندر الحروف ( 'Z' ، & nbsp; 'Q' ، & nbsp; 'J' ، & nbsp; 'X' )، فهذا خيار غير محتمل.
  • في جميع الحالات الأخرى (الحروف الساكنة والمتحركة الأخرى) يعتبر مشكوكًا فيه.

يجب على البرنامج عرض واحد من أربعة تقييمات: « المفتاح الأكثر احتمالًا. »، « مفتاح محتمل. »، « مفتاح غير محتمل. » أو « مفتاح مشكوك فيه. ».

تنسيق الإدخال


تنسيق الإخراج

سطر واحد: تقييم الاحتمالية الرئيسية (النوع: خط).

مثال

إدخال

xli getvi csyph xsve!
هـ

إخراج

المفتاح الأكثر احتمالاً.

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور
# Программа запрашивает зашифрованное сообщение.
# Оно не используется в логике, но является частью условия задачи.
encrypted_message = input()

# Программа запрашивает предполагаемый ключ — одну букву.
# Это главный входной параметр, который будет анализироваться.
key_char = input()

# Проверяем, является ли предложенный ключ буквой 'E'.
# Это основное и самое сильное условие.
if key_char == 'E':
    # Если да, выводим сообщение о наибольшей вероятности.
    print("Наиболее вероятный ключ.")

# Если ключ не 'E', проверяем, является ли он одной из других частых гласных.
# Используем несколько условий 'or' для проверки вхождения в группу.
elif key_char == 'A' or key_char == 'O' or key_char == 'I':
    # Если да, выводим сообщение о вероятности.
    print("Вероятный ключ.")

# Если предыдущие условия не выполнились, проверяем, не является ли ключ редкой буквой.
elif key_char == 'Z' or key_char == 'Q' or key_char == 'J' or key_char == 'X':
    # Если да, выводим сообщение о малой вероятности.
    print("Маловероятный ключ.")

# Если ни одно из вышеперечисленных условий не сработало,
# значит, это любой другой символ (частая согласная и т.д.).
else:
    # Выводим сообщение о сомнительности ключа.
    print("Сомнительный ключ.")

🎉 تهانينا! 🎉

لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.

AD

إعلان

red-snake blue-snake green-snake

جارٍ تشغيل الكود...

مساعد الذكاء الاصطناعي

مرحباً! أنا مساعدك في البرمجة. اسألني أي شيء عن Python — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!