Строковые манипуляции в Python
Write a program to give the following output for the given string S of size N.(character containing even number of occurences should be elaborated else print the same format) Eg 1: Input: a1b10 Output: a1bbbbbbbbbb Eg: 2: Input: b3c6d15 Output: b3ccccccd15 Input Size : 1 <= N <= 100000 Sample Testcases : INPUT a1b10 OUTPUT a1bbbbbbbbbb
Я без подсказки я не смог отделить числа соответственно его символу пожалуйста помогите мне
Что я уже пробовал:
text=input() list1=[] list2=[] ans="abcdefghijklmnopqrstuvwxyz" ans1="" n=len(text) for i in range(n): while(text[i] not in ans ): ans1+=text[i] list1.append(ans) print(list1)
Richard MacCutchan
Прочтите каждый символ и следующее за ним число, помня, что число может быть больше одной цифры. Когда число будет четным, выведите это число из предыдущих символов. Когда нечетно, просто распечатайте существующие детали.
_gvsss
как?..
_gvsss
Я имею в виду мои сомнения a10b5 нужно напечатать 10 раз прав. но выше одного этого будет недостаточно
Richard MacCutchan
Именно так. Проблема в том, что вам нужно написать синтаксический анализатор, который извлекает наборы из входной строки. Каждый набор представляет собой букву, за которой следует несколько цифр. Таким образом, вам нужно иметь цикл, который делает что-то вроде:
- сохраните следующий символ, который должен быть буквой
- пока следующий символ является цифрой, скопируйте его в некоторую переменную.
- если следующий символ не является цифрой, обработайте полученные данные.
- преобразование строки цифр в целое число
- если он четный, то выведите этот номер сохраненного письма
- если он нечетный, просто выведите букву, за которой следуют цифры
- повторять до конца строки