2013-03-20 3 views
1

Мне нужно заменить первые буквы строки. Какую команду я должен использовать? Я пишу вещь для французов, который изменяет слова в прошедшее время, и я сделал немного за последние буквы, т.е. re превращается в и, но мне нужно, чтобы сделать один, который изменяет je в j'aipython, помогите заменить первые буквы

word = raw_input("what words do you want to turn into past tense?") 
word2= word 

if word2.endswith("re"): 
    word3 = word2[:-2] + "u" 
    print word3 
elif word2.endswith("ir"): 
    word3 = word2[:-2] + "i" 
    print word3 
elif word2.endswith("er"): 
    word3 = word2[:-2] + "e" 
    print word3 
else: 
    print "nope" 

это это то, что я сделал до сих пор

+0

Извините, я не знаю, где расстояние было, но оно было помещено на столбцы, а печать – user2191568

+0

вы можете использовать тот же метод, просто измените нотацию фрагмента с '[: -2]' на '[2:] ' –

+1

Планируете ли вы расширить это, чтобы справиться с а) глаголами, которые берут * être * в качестве их вспомогательного глагола и b) неправильными глаголами? –

ответ

1

Если вы что-то вроде этого

word = 'tu as' 
changes = {'je': "j'ai", 'tu':'tu as'} 
changes.get(word, 'Nope') 

это даст вам изменения вам нужно от «I/вы» к «I/вы сделали».

Это очень наивный колото на то, чтобы переводчик ... Вы можете также просто поставить все точки в этом же словаре т.е.

changes = {'re':'u', 'ir':'i', 'er':'e', 'je': "j'ai", 'tu':'tu as'} 

, а затем перебирать каждое слово в «от» предложение преобразовать его в эквивалентное прошлое.

Отказ от ответственности: Конечно, это не учитывает грамматику используемого вами языка. Полный перевод значительно более активен, чем этот обмен типа «a-for-b».

+1

Вопрос об изменении первых букв строки –

+0

мне не нужен для изменения первых букв – user2191568

+0

@ user2191568 Обновлено. Это то, что вы хотите? –

Смежные вопросы