私は言語翻訳者を作ろうとしています。Pythonでの私にとっての簡単な作業。とか、そう思いました。あなたが気づいていない場合、アップ言語は、単語を取り、すべての母音の前に追加しながらそれを言うときです. たとえば、Andrew は Upandrupew になります。ユーザーが送信した単語のすべての母音を見つけて、それらの前に置く方法を見つけようとしています。すべての母音の前にある単語を切り取る方法はありますか? とても優れているのは優れているだろうか?ありがとう。
12853 次
11 に答える
7
多分
VOWELS = 'aeiou'
def up_it(word):
letters = []
for letter in word:
if letter.lower() in VOWELS:
letters.append('Up')
letters.append(letter)
return ''.join(letters)
に簡略化できます
def up_it(word):
return ''.join('up'+c if c.lower() in 'aeiou' else c for c in word)
于 2013-06-06T20:21:22.353 に答える
6
You could do that with a regex:
import re
a = "Hello World."
b = re.sub("(?i)([aeiou])", "up\\1", a)
The (?i)
makes it case-insensitive. \\1
refers to the character that was matched inside ([aeiou])
.
于 2013-06-06T20:22:17.640 に答える
0
私はおそらくRegExpを使いますが、それを使用する答えはすでにたくさんあります。私の 2 番目の選択肢は map 関数です。すべての文字を反復処理するよりも魔女の方が優れています。
>>> vowels = 'aeiou'
>>> text = 'this is a test'
>>> ''.join(map(lambda x: 'up%s'%x if x in vowels else x, text))
'thupis upis upa tupest'
>>>
于 2013-06-07T17:14:29.540 に答える