2017-05-17 14 views
1

知らない人には、母音を 'ooba'に置き換えることが、普及している傾向としてhttps://reddit.com/r/prequelmemesになっています。私は `ooba 'で母音を置き換えるpython 2.7でプログラムを作ることで、このプロセスを自動化したいと思います。私はあなたがそれが母音である場合には、各文字列の文字、およびチェックの上に行く 母音を文字列に置き換える翻訳者

for i, c in enumerate(meme): 
    if c in ['a', 'e', 'i', 'o', 'u']: 
    meme[:i] = meme[:i] + 'ooba' + meme[i+1:] 

ここに文字列 memeを養うことができ、迅速かつシンプルな答えを

+1

これはダムに聞こえるが、あなたの要求は単純です:old_wordにおけるリットル用AEIOU '他のL '中のLであれば' 'new_word = '' .join([' OOBA ]) ' –

+3

@KevinK。あなたは '[]'を取り除くことができます。リストの理解の代わりにジェネレータ式を使用してください。これを回答として投稿する必要があります。また、私は変数名として 'l'を使わないことをお勧めします。 –

+0

単語が' queue'ならば、プログラムは 'qooba'を出力するか、本当に' qoobaoobaoobaooba'を出力しますか? –

答えて

0

を始めるためには考えています。そうであれば、インデックスの周りをスライスし、以前の場所に「ooba」を挿入します。

+1

このコードスニペットをありがとうございました。すぐに役立つかもしれません。適切な説明は、なぜ*これが問題の良い解決策であるかを示すことによってその教育上の価値を大幅に改善し(// meta.stackexchange.com/q/114762)、将来の同様の、しかし、同一ではない質問。説明を追加するためにあなたの答えを[編集]し、どんな制限と前提が適用されるかを示してください。 –

1

あなたは単純な正規表現を使用できます。ラインが短い場合

import re 

my_string = 'Hello!' 
my_other_string = re.sub(r'[aeiou]', 'ooba', my_string) 

print(my_other_string) # Hooballooba! 
1

以下の方法が提案されています。私はそうでなければregexを使うことを好むでしょう。以下は、あなたのテキストがsであることを前提としています。

s = ''.join(['ooba' if i in ['a', 'e', 'i', 'o', 'u'] else i for i in s]) 

正規表現のアプローチ:

import re 
s = re.sub(r'a|e|i|o|u', "ooba", s) 
関連する問題