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

درس 2. Conditions

الصعوبة:

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

مسألة«قلعة التشفير»

💻 Python

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

rn
  • الأرقام الثلاثة المدخلة في القفل تشكل & nbsp; متتالية متزايدة بشكل صارم & nbsp; (أي أن كل رقم تالٍ أكبر من الرقم السابق).
  • rn
  • جميع الأرقام الثلاثة & nbsp; هي & nbsp; أعداد أولية .
  • rn

    تذكر أن العدد الأولي & mdash; هو عدد طبيعي أكبر من 1، يقبل القسمة دون باقٍ على 1 وعلى نفسه فقط (مثل 2، 3، 5، 7، 11).

    rn

    مهمتك & mdash; كتابة برنامج يساعدك في التحقق بسرعة من مجموعات الأرقام. يجب على البرنامج تحديد، بناءً على ثلاثة أعداد صحيحة مدخلة، ما إذا كان القفل سيفتح.

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

    ثلاثة أعداد صحيحة (Integer)، يتم إدخال كل منها من سطر جديد. هذه هي الأرقام السرية للقلعة.

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

    سطر (نص) يحتوي على النتيجة: "القفل مفتوح" أو "القلعة مقفلة".

    مثال

    إدخال

    3
    5
    7

    إخراج

    القلعة مفتوحة

    تلميح

    There will be no clue here, decide for yourself!

    main.py
    اختبار 1
    اختبار 2
    اختبار 3
    اختبار 4
    اختبار 5
    اختبار 6
    اختبار 7
    اختبار 8
    اختبار 9
    اختبار 10
    حل المطور
    # Запрашиваем у пользователя три целых числа
    a = int(input())
    b = int(input())
    c = int(input())
    
    # Проверка первого условия: строго возрастающая последовательность
    # Эта переменная будет True, если a < b и b < c, иначе False
    is_increasing = a < b < c
    
    # Проверка второго условия: все три числа являются простыми
    # Создаем флаги для каждого числа, по умолчанию считаем их простыми
    a_is_prime = True
    b_is_prime = True
    c_is_prime = True
    
    # Проверяем число 'a' на простоту
    if a <= 1:
        # Числа меньше или равные 1 не являются простыми
        a_is_prime = False
    else:
        # Перебираем все возможные делители от 2 до a-1
        for i in range(2, a):
            # Если нашелся делитель без остатка, число не простое
            if a % i == 0:
                a_is_prime = False
                break # Прерываем цикл, так как дальше проверять нет смысла
    
    # Проверяем число 'b' на простоту (логика аналогична)
    if b <= 1:
        b_is_prime = False
    else:
        for i in range(2, b):
            if b % i == 0:
                b_is_prime = False
                break
    
    # Проверяем число 'c' на простоту (логика аналогична)
    if c <= 1:
        c_is_prime = False
    else:
        for i in range(2, c):
            if c % i == 0:
                c_is_prime = False
                break
    
    # Итоговый флаг для второго условия: будет True, только если все три флага True
    all_are_prime = a_is_prime and b_is_prime and c_is_prime
    
    #  Финальное решение 
    # Замок откроется, если выполнено хотя бы одно из двух условий (оператор or)
    if is_increasing or all_are_prime:
        print("Замок открыт")
    else:
        print("Замок заперт")

    🎉 تهانينا! 🎉

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

    AD

    إعلان

    red-snake blue-snake green-snake

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

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

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