2014-11-02 3 views
-2

Я хочу, чтобы удалить все первые согласные слова и поместить их в конце словаКак выбрать и удалить все первые согласные слова и поместить их в конец слова в python?

ввода ->"step down"

выход ->"epst ownd"

это мой код до сих пор:

def lang(text): 
    alist=text.split() 
    vokaler="äåöaeiouÄÅÖAEIOU" 
    retText="" 
    for word in alist: 
     nytext="" 
     nytext_b="" 
     n=0 
     for tkn in word: 
      if not tkn in vokaler: 
       nytext+=tkn 
       n+=1 
      else:  
       for rest in word[n:]: 
        nytext_b+=rest 
        retText=nytext_b+nytext+"all"+" " 

    return retText 

print(lang("step down")) 
+0

Так? Что делает ваш код, и что вы ожидали от него? – jonrsharpe

+0

Работает ли это как написано? – wwii

+0

Код, поскольку он проходит через каждую букву слова. Если это согласный, он сохраняет его пустой переменной. Если это гласный, то он пробегает остальную часть слова и сохраняет его в другой переменной. Затем я добавляю их вместе в пустой третий var. Я не знаю, как остановить цикл от продолжения после того, как он прошел оставшуюся часть слова – Nash

ответ

-2

Если вы хотите поместить каждую букву строки до конца, то вы можете использовать следующий код:

a="step down" 
    l=a.split() 
    print l 
    data1="" 
    for x in l: 
    data=x[1:]+x[0:1] 
    data1=data1+data 

    data1=data1+" " 
    print data1 

выход:

teps ownd 
+0

Ваш код не делает то, что вы говорите - 'положить каждую букву строки в конец'. Кроме того, ОП заявлял о каждом «первом согласном» до конца. – wwii

+0

Вы видите результат, который я дал в сообщении – jack

+0

Возможно, потому что он неверен и работает только для данного примера и не решает проблему. – badc0re