Найти - Пользователи
Полная версия: Объединение всех значений переменной в итерации в одну строку
Начало » Python для новичков » Объединение всех значений переменной в итерации в одну строку
1
d1ms
Здравствуйте, уважаемые. Только приступил к изучению питона 3.х и практики ради придумал себе задачку:
Имеем любое слово, которое нужно преобразовать в другое слово, соблюдая правило: после гласных добавляется буква “С” и предыдущая гласная. Например:
слово “Попа” должно превратиться в слово “Посопаса”.
Написал такой нехитрый код (понимаю, что могу изобретать велосипед или код покажется корявым):
a = ["а", "е", "и", "о", "у", "ы", "э", "ю", "я"]
b = "лалала"
c = "c"
x = 0
z = 0
while x < len(b):
    y = b[x]
    while z < len(a):
        j = a[z]
        if y == j:
            y = y + c + j
        z += 1
    else:
        z = 0
    print(y)
    x += 1
Помогите разобраться, как мне скомпоновать вывод этого кода в одно целое итоговое слово?
py.user.next
>>> def f(s, c='с', g=set('аеиоуыэюя')):
...     return ''.join((i in g and i + c + i) or i for i in s)
... 
>>> f('тест тест')
'тесест тесест'
>>>
terabayt
def f(s, c='с', g=["а", "е", "и", "о", "у", "ы", "э", "ю", "я"]):
    return ''.join(reduce(lambda x, y: x.replace(y, y+c+y) ,[s]+g))
print f('тест тест')
d1ms
Спасибо за оперативные ответы, но реально ли получить необходимый результат именно с моим кодом? Челлендж был таков, что, прочитав одну главу, мне пообещали, что я смогу уже реализовать мою задумку.
alexiy
Вначале ко всем переменным добавь например answer = “”
..потом вместо print(y) сделай answer = answer + y, и ПОСЛЕ цикла принтуй: print(answer)
terabayt
d1ms
Помогите разобраться, как мне скомпоновать вывод этого кода в одно целое итоговое слово?
a = ['а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я']
b = 'лалала'
c = 'с'
x = 0
z = 0
while x < len(b):
    y = b[x]
    while z < len(a):
        j = a[z]
        if y == j:
            y = y + c + j
        z += 1
    else:
        z = 0
    print(y, end='')
    x += 1
print()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB