我想在某些詞的元音(即不是像即連續的元音或EI),例如添加文本:如何解決Python中的這個字符串問題?
字:「奇怪」
文本元音前補充:「IB」
結果: 'wibeird'
因此文本 'IB' 元音 'e' 的前加入。請注意,它並沒有用'ib'代替'i',因爲當元音連續時,我不希望它添加文本。
然而,當我這樣做:
字: '狗'
文本元音前補充: 'OB'
結果: 'doboog'
正確的結果應該是:'dobog'
我一直在試圖調試我的程序,但我似乎無法弄清楚邏輯,以確保它能正確打印'wibeird'和'dobog'。
這是我的代碼,用'ob'代替first_syl,用'怪狗'先運行後用'dog'代替。
first_syl = 'ib'
word = 'weird'
vowels = "aeiouAEIOU"
diction = "bcdfghjklmnpqrstvwxyz"
empty_str = ""
word_str = ""
ch_str = ""
first_vowel_count = True
for ch in word:
if ch in diction:
word_str += ch
if ch in vowels and first_vowel_count == True:
empty_str += word_str + first_syl + ch
word_str = ""
first_vowel_count = False
if ch in vowels and first_vowel_count == False:
ch_str = ch
if word[-1] not in vowels:
final_str = empty_str + ch_str + word_str
print (final_str)
我正在使用Python 3.2.3。另外我不想使用任何導入的模塊,試圖這樣做來理解python中字符串和循環的基礎知識。
請注意,您不是替換元音,而是在元音前插入一個字符串。如果我們將其替換,'dog'將會在'ob'替換'o'後變成'dobg'。 –
在你的第一個例子中,它看起來並不像你完全替換了「e」 - 還有一個「wibeird」中的e –
對不起,我不是故意要'替換'我實際上是想在元音之前添加文本, 我道歉。我現在在說明中解決了這個問題。 – Goose