• 1
    Entrée et sortie
    • Tâches
  • 2
    Conditions
    • Tâches
  • 3
    Boucle for
    • Tâches
  • 4
    Chaînes
    • Tâches
  • 5
    Boucle while
    • Tâches
  • 6
    Listes
    • Tâches
  • 7
    Tableaux 2D
    • Tâches
  • 8
    Dictionnaires
    • Tâches
  • 9
    Ensembles
    • Tâches
  • 10
    Fonctions et récursion
    • Tâches
  • к

Leçon 2. Conditions

Difficulté :

Exercice«Château cryptographique»

💻 Python

Vous & mdash; un brave aventurier, et au cours de vos pérégrinations, vous avez trouvé un coffre mystérieux dans le donjon d'un château ancien. Le coffre est verrouillé par un cadenas cryptographique magique qui nécessite la saisie de trois nombres secrets. La légende gravée sur le mur dit que le coffre s'ouvrira si & nbsp; au moins une & nbsp; des deux conditions est remplie :

  • Les trois nombres saisis dans le cadenas forment une & nbsp; séquence strictement croissante & nbsp; (c'est-à-dire que chaque nombre suivant est plus grand que le précédent).
  • Les trois & nbsp; nombres sont & nbsp; premiers .
  • Rappelons qu'un nombre premier & mdash; est un nombre naturel supérieur à 1, qui n'est divisible sans reste que par 1 et lui-même (par exemple, 2, 3, 5, 7, 11).

    Votre tâche & mdash; est d'écrire un programme qui vous aidera à vérifier rapidement les combinaisons de nombres. Le programme doit déterminer, à partir de trois entiers saisis, si le coffre s'ouvrira.

    Format d entrée

    Trois entiers (Integer), chacun est introduit depuis une nouvelle ligne. Ce sont les nombres secrets du château.

    Format de sortie

    Ligne (chaîne de caractères) avec le résultat : "Le verrou est ouvert" ou "Château verrouillé".

    Exemple

    Entrée

    3
    5
    7

    Sortie

    Le château est ouvert

    Indice

    There will be no clue here, decide for yourself!

    main.py
    Test 1
    Test 2
    Test 3
    Test 4
    Test 5
    Test 6
    Test 7
    Test 8
    Test 9
    Test 10
    Solution du développeur
    # Запрашиваем у пользователя три целых числа
    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("Замок заперт")

    🎉 Félicitations ! 🎉

    Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.

    AD

    Publicité

    red-snake blue-snake green-snake

    Exécution de votre code...

    Assistant IA

    Bonjour ! Je suis ton assistant de programmation. Pose moi toutes tes questions sur Python — je peux t expliquer les fonctions, les méthodes et t aider avec la tâche en cours !