_gvsss Ответов: 0

Строковые манипуляции в 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

Именно так. Проблема в том, что вам нужно написать синтаксический анализатор, который извлекает наборы из входной строки. Каждый набор представляет собой букву, за которой следует несколько цифр. Таким образом, вам нужно иметь цикл, который делает что-то вроде:
- сохраните следующий символ, который должен быть буквой
- пока следующий символ является цифрой, скопируйте его в некоторую переменную.
- если следующий символ не является цифрой, обработайте полученные данные.
- преобразование строки цифр в целое число
- если он четный, то выведите этот номер сохраненного письма
- если он нечетный, просто выведите букву, за которой следуют цифры
- повторять до конца строки

0 Ответов