• 1
    Entrada e saída
    • Tarefas
  • 2
    Condições
    • Tarefas
  • 3
    Loop for
    • Tarefas
  • 4
    Strings
    • Tarefas
  • 5
    Loop while
    • Tarefas
  • 6
    Listas
    • Tarefas
  • 7
    Matrizes 2D
    • Tarefas
  • 8
    Dicionários
    • Tarefas
  • 9
    Conjuntos
    • Tarefas
  • 10
    Funções e recursão
    • Tarefas
  • к

Lição 2. Conditions

Dificuldade:

Tarefa«Analisador criptográfico»

💻 Python

Você & mdash; O assistente mais jovem do departamento de criptografia. Seu colega sênior está envolvido na decodificação de uma mensagem importante escrita em inglês usando análise de frequência. Ele já determinou qual símbolo no texto cifrado é encontrado com mais frequência. Agora ele precisa verificar algumas hipóteses sobre qual letra do alfabeto inglês esse símbolo corresponde.

Sua tarefa & mdash; Escrever um programa que ajude a avaliar rapidamente a plausibilidade da hipótese. O programa deve solicitar uma mensagem criptografada (é necessária para contexto, mas não é obrigatório analisá-la) e a suposta letra-chave (aquela na qual, de acordo com a hipótese, o símbolo mais frequente é expandido).

Com base no conhecimento comum sobre a frequência das letras em inglês, o programa deve emitir um veredito sobre a probabilidade da chave de acordo com as seguintes regras:

  1. Se a chave estimada & mdash; Esta é a letra & nbsp; 'E' , esta é a opção mais provável, já que 'E' & mdash; A letra mais comum em inglês.
  2. Se a chave & mdash; Uma das outras vogais frequentes ( 'A' , & nbsp; 'O' , & nbsp; 'I' ), então esta é uma opção provável.
  3. Se a chave & mdash; Uma das letras mais raras ( 'Z' , & nbsp; 'Q' , & nbsp; 'J' , & nbsp; 'X' ), então esta é uma opção improvável.
  4. Em todos os outros casos (outras consoantes e vogais) é considerado duvidoso.

O programa deve exibir uma das quatro avaliações: « chave mais provável. », « chave provável. », « chave improvável. » ou « chave duvidosa. ».

Formato de entrada

Primeira linha: uma mensagem criptografada (tipo: linha).
Segunda linha: a chave de descriptografia estimada, uma letra maiúscula do alfabeto inglês (tipo: símbolo/linha).

Formato de saída

Uma linha: Avaliação da probabilidade chave (tipo: linha).

Exemplo

Entrada

xli getvi csyph xsve!
e

Saída

A chave mais provável.

Dica

There will be no clue here, decide for yourself!

main.py
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Teste 6
Teste 7
Teste 8
Teste 9
Teste 10
Solução do desenvolvedor
# Программа запрашивает зашифрованное сообщение.
# Оно не используется в логике, но является частью условия задачи.
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("Сомнительный ключ.")

🎉 Parabéns! 🎉

Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.

AD

Publicidade

red-snake blue-snake green-snake

Executando seu código...

Assistente de IA

Olá! Sou seu assistente de programação. Faça qualquer pergunta sobre Python — posso explicar funções, métodos e ajudá-lo com a tarefa atual!