Python: восстановить исходную строку, введя сжатую строку с указанным правилом
Python Basic - 1: Упражнение-58 с решением
Когда символ является последовательным в строке, можно сократить строку символов, заменив символ определенным правилом. Например, в случае строки символов YYYYY, если она выражена как # 5 Y, она сжимается одним символом.
Напишите программу на Python для восстановления исходной строки, введя сжатую строку с этим правилом. Однако символ # не отображается в восстановленной строке символов.
Примечание. Исходные предложения состоят из прописных букв, строчных букв, цифр, символов, не более 100 букв, а последовательные буквы - не более 9 букв.
Входные данные :
Несколько строк символов приведены. Одна строка дается на строку. Выход:
Восстановленная строка символов для каждого символа в одной строке.
Пример решения :
Код Python:
def restore_original_str(a1):
result = ""
ind = 0
end = len(a1)
while ind < end:
if a1[ind] =="#":
result += a1[ind + 2] * int(a1[ind + 1])
ind += 3
else:
result += a1[ind]
ind += 1
return result
print("Original text:","XY#6Z1#4023")
print(restore_original_str("XY#6Z1#4023"))
print("Original text:","#39+1=1#30")
print(restore_original_str("#39+1=1#30"))
Пример вывода:
Оригинальный текст: XY # 6Z1 # 4023 XYZZZZZZ1000023 Оригинальный текст: # 39 + 1 = 1 # 30 999 + 1 = 1000
Блок - схема:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для суммирования всех числовых значений (положительных целых чисел), встроенных в предложение.
Далее: Напишите программу на Python, которая вычисляет площадь многоугольника. Вершины имеют имена вершина 1, вершина 2, вершина 3, ... вершина n в соответствии с порядком соединения ребер.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования