• 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«Supergeheime Nachricht»

💻 Python

& nbsp; Sie & mdash; ein Elite-Spion, der für die geheime Organisation Alpha arbeitet. Sie haben die Nachricht des Feindes abgefangen, aber sie ist verschlüsselt. Ihr Verbindungsoffizier hat Ihnen die Regeln übergeben, nach denen die Schlüssel zur Entschlüsselung erstellt werden. Damit der Schlüssel vom System akzeptiert wird, muss er gleichzeitig drei strenge Kriterien erfüllen:

rn
    rn
  1. Eindeutigkeit: & nbsp; alle Symbole des Schlüssels müssen eindeutig sein. Zum Beispiel & nbsp; key123 & nbsp; ist geeignet, aber & nbsp; Hellow1 & nbsp; & mdash; nicht, da das Symbol & nbsp; l & nbsp; wiederholt wird.
  2. rn
  3. Buchstaben: & nbsp; im Schlüssel muss mindestens ein Buchstabe beliebiger Groß-/Kleinschreibung vorhanden sein (von & nbsp; a & nbsp; bis & nbsp; z , von & nbsp; A & nbsp; bis & nbsp; Z ).
  4. rn
  5. Vorhandensein von Zahlen: & nbsp; im Schlüssel muss mindestens eine Ziffer vorhanden sein (von & nbsp; 0 & nbsp; bis & nbsp; 9 ).
  6. rn
rn

& mdash; Schreiben Sie ein Programm, das die vorgeschlagenen Zeilen überprüft und feststellt, ob es sich um gültige Schlüssel handelt. Wenn die Zeile alle drei Regeln erfüllt, muss das System die Meldung "Access permitted" ausgeben. Andernfalls & mdash; "Access denied".

Eingabeformat

Ein potenzieller Schlüssel zur Überprüfung (Zeile, Str).

Ausgabeformat

Das Ergebnis der Überprüfung des Schlüssels (Zeile, str): "Zugriff erlaubt" oder "Zugriff verweigert".

Beispiel

Eingabe

agentcode9

Ausgabe

Zugriff ist erlaubt

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
# Получаем строку от пользователя, которая является потенциальным ключом.
secret_key = input()

# Создаем флаги (логические переменные), чтобы отслеживать наличие букв и цифр.
# Изначально мы предполагаем, что их нет.
has_letter = False  # Флаг, который покажет, есть ли в строке буква.
has_digit = False   # Флаг, который покажет, есть ли в строке цифра.
has_rep = True # Флаг, который покажет был ли повтор символа
# Проверяем уникальность символов.
# Самый простой способ - сравнить длину исходной строки с длиной множества (set) из её символов.
# Множество автоматически удаляет все дубликаты.
# Если длины равны, значит, все символы были уникальны.
is_unique = len(secret_key) == len(set(secret_key))

# Запускаем цикл, который перебирает каждый символ в полученной строке.
for char in secret_key:
    # Проверяем, является ли текущий символ буквой.
    if char.isalpha():
        has_letter = True  # Если да, поднимаем флаг "есть буква".
    # Проверяем, является ли текущий символ цифрой.
    if char.isdigit():
        has_digit = True   # Если да, поднимаем флаг "есть цифра".
    if secret_key.count(char) > 1:
        has_rep = False
# После проверки всей строки, выносим окончательное решение.
# Условие сработает, только если все три переменных (is_unique, has_letter, has_digit) истинны (True).
if is_unique and has_letter and has_digit and has_rep:
    # Если все условия выполнены, выводим сообщение об успехе.
    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!