• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 5. While cycle

难度:

任务«检查回文»

💻 Python

你是一名网络安全专家,你的目标是连接到秘密服务器“Centaur”。连接协议很特殊:服务器会向你发送一行调用,你必须立即回复正确的密码串。如果回复错误,连接会立即中断。

回复规则如下:需要从该行中提取所有数字和所有拉丁字母,忽略其余字符。然后你需要组成一个新行,其中先放置所有提取出的数字(保持它们原有的顺序),接着放置所有提取出的字母(同样保持原有顺序)。

你的程序必须持续读取调用行,直到收到命令 session_end。对于该命令无需回复任何内容,程序只需结束运行。

输入格式

输入提供了一系列行,每行占一行。每一行都是来自服务器的另一次调用。最后一行始终是 session_end。

输出格式

对于每一行-Zavzov(除了 session_end),需要在单独的一行上移除生成的密码环。

示例

输入

alpha123bravo
呼号:9-x-ray-8
--20-Victor-24--
会话结束

输出

123LPHABRAVO
98Callsignxray
2024victor

提示

There will be no clue here, decide for yourself!

main.py
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Бесконечный цикл, который будет прерван изнутри
while True:
    # Читаем очередную строку-вызов от сервера
    challenge_string = input()

    # Проверяем условие выхода из цикла
    if challenge_string == "SESSION_END":
        break  # Завершаем цикл и программу

    # Создаем две пустые строки для сбора цифр и букв
    digits_part = ""
    letters_part = ""

    # Перебираем каждый символ в полученной строке-вызове
    for char in challenge_string:
        # Если символ является цифрой, добавляем его в строку для цифр
        if char.isdigit():
            digits_part += char
        # Иначе, если символ является буквой, добавляем его в строку для букв
        elif char.isalpha():
            letters_part += char
        # Все остальные символы (пробелы, знаки препинания и т.д.) игнорируются

    # Соединяем две части, чтобы получить финальный пароль-отклик
    response_password = digits_part + letters_part

    # Выводим результат
    print(response_password)

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!