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

课程 3. FOR cycle

难度:

任务«词序»

💻 Python

你 & mdash; 飞行控制中心的程序员。从我们新的Kuriositi-2火星车上,传来了一条关于其系统状态的重要消息。不幸的是,由于太阳爆发,消息中的单词顺序被打乱了。工程师们预见到了这种情况,在每个单词中嵌入了一个从1到9的数字,表示该单词在句子中的正确位置。你的任务 & mdash; 编写一个程序,恢复单词的初始顺序并解读消息。

技术要求:
输入程序的一行由空格分隔的单词组成。每个单词保证包含一个从1到9的数字。需要根据这些数字对行中的单词进行排序,并输出结果。

限制条件:

  • 如果输入行为空,程序应返回空行。
  • 单词仅由俄文字母和一个数字组成。
  • 输入行中的数字始终一致且正确(例如,如果有4个单词,则它们将包含数字1、2、3、4)。
  • 只能使用基本结构:输入输出、条件运算符( if/else )和循环 for 。不能导入模块或创建函数。

输入格式

来自火星车的加密消息(字符串,Str)。

输出格式

解密后的有意义消息(字符串,str)。

示例

输入

O2 B4

输出

任务 e1tot O2

提示

There will be no clue here, decide for yourself!

main.py
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Получаем зашифрованную строку от пользователя
scrambled_message = input()

# Проверяем, не является ли строка пустой. Если пустая, то и результат - пустая строка.
if not scrambled_message:
    print("")
else:
    # Разделяем строку на отдельные слова по пробелу
    words = scrambled_message.split()
    
    # Создаем пустой список, в который будем складывать слова в правильном порядке.
    # Его размер равен количеству слов во входной строке.
    result_list = [''] * len(words)
    
    # Начинаем цикл по каждому слову в списке перемешанных слов
    for word in words:
        # Внутри этого цикла ищем цифру в текущем слове
        for char in word:
            # Проверяем, является ли текущий символ цифрой
            if char.isdigit():
                # Если это цифра, превращаем ее в число
                position = int(char)
                # Так как нумерация в задаче с 1, а индексы в списке с 0, вычитаем единицу
                index = position - 1
                # Помещаем текущее слово в результирующий список на правильную позицию
                result_list[index] = word
                # Мы нашли цифру, можно прекратить проверку символов в этом слове и перейти к следующему
                break
    
    # Соединяем отсортированные слова из списка обратно в одну строку через пробел
    final_message = " ".join(result_list)
    
    # Выводим итоговое, расшифрованное сообщение
    print(final_message)

🎉 恭喜! 🎉

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

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

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