• 1
    Eingabe und Ausgabe
    • Aufgaben
  • 2
    Bedingungen
    • Aufgaben
  • 3
    For-Schleife
    • Aufgaben
  • 4
    Zeichenketten
    • Aufgaben
  • 5
    While-Schleife
    • Aufgaben
  • 6
    Listen
    • Aufgaben
  • 7
    2D-Arrays
    • Aufgaben
  • 8
    Wörterbücher
    • Aufgaben
  • 9
    Mengen
    • Aufgaben
  • 10
    Funktionen und Rekursion
    • Aufgaben
  • к

Lektion 2. Conditions

Schwierigkeit:

Aufgabe«Kryptografische Burg»

💻 Python

Du — ein mutiger Abenteurer, und während deiner Wanderungen hast du in den Verliesen einer alten Burg eine geheimnisvolle Truhe gefunden. Die Truhe ist mit einem magischen kryptografischen Schloss verschlossen, das die Eingabe von drei geheimen Zahlen erfordert. Die Legende an der Wand besagt, dass sich das Schloss öffnet, wenn   mindestens eine   von zwei Bedingungen erfüllt ist:

  • Die drei in das Schloss eingegebenen Zahlen bilden eine   streng steigende   Folge (das heißt, jede nächste Zahl ist größer als die vorherige).
  • alle drei   Zahlen sind   Primzahlen .
  • Erinnere dich: Eine Primzahl — ist eine natürliche Zahl größer als 1, die nur durch 1 und sich selbst ohne Rest teilbar ist (z. B. 2, 3, 5, 7, 11).

    Deine Aufgabe — Schreibe ein Programm, das dir hilft, Zahlenkombinationen schnell zu überprüfen. Das Programm soll anhand von drei eingegebenen ganzen Zahlen bestimmen, ob sich das Schloss öffnet.

    Eingabeformat

    Drei ganze Zahlen (Integer), jede wird in einer neuen Zeile eingegeben. Dies sind die geheimen Zahlen für das Schloss.

    Ausgabeformat

    Zeile (Zeichenkette) mit dem Ergebnis: "Das Schloss ist offen" oder "Schloss verriegelt".

    Beispiel

    Eingabe

    3
    5
    7

    Ausgabe

    Das Schloss ist geöffnet

    Hinweis

    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
    Entwicklerlösung
    # Запрашиваем у пользователя три целых числа
    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("Замок заперт")

    🎉 Glückwunsch! 🎉

    Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.

    AD

    Werbung

    red-snake blue-snake green-snake

    Führe deinen Code aus...

    KI-Assistent

    Hallo! Ich bin dein Programmier-Assistent. Stelle mir beliebige Fragen zu Python — ich erkläre Funktionen, Methoden und helfe dir bei der aktuellen Aufgabe!