回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>到目前为止,下面的程序的重点是从<code>alphabet</code>列表上的辅音位置迭代到<code>alphabet</code>列表的结尾,从而获得最接近的1元音。一旦循环找到最接近的(右边的)元音,循环应该停止迭代,并将该元音的索引和字母分配给<code>afterVowel</code>和{<cd4>}变量。对每个辅音也应该这样做(也就是说,如果输入(<code>word</code>)的当前迭代是一个辅音,我们将它放在<code>alphabet</code>列表中,然后遍历<code>alphabet</code>列表,找到最接近右元音的,然后停止)。在</p>
<p>问题是,它迭代<code>alphabet</code>列表,并将所有元音输出到字母表中辅音的右边,而不是只输出一个。在</p>
<p>不幸的是,我尝试使用break,while循环和条件语句,以及其他技术,但没有任何效果。在</p>
<p>如何解决这个问题?在</p>
<p>下面的<code>print</code>语句用于检查是否输出了一个或多个元音;它不是程序的实际部分。在</p>
<pre><code>def rovarspraket(word = raw_input("Please enter a word: ")):
consonants = ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z']
vowels = ['a','e','i','o','u']
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
#1. Identify if the current element is a consonant, the consonant, and the consonant's index on alphabet list
for character in range(len(word.lower())):
for c in range(len(consonants)):
if word[character] == consonants[c]:
currentConsonant = word[character]
#2. Determine After and Before vowels
#After vowel
for a in range(alphabet.index(word[character]), len(alphabet)):
for aV in range(len(vowels)):
if alphabet[a] == vowels[aV]:
afterVowel = alphabet[a]
afterVowelIndex = a
print afterVowel, afterVowelIndex
</code></pre>