<p>我在您的代码中看到许多问题:
这是多余的<code>else</code>条件,字符串中也有<code>e</code>:</p>
<pre><code>if word0proof in "bcdefghjklmnpqrstvwxyz":
word1 = word0proof
else:
word0proof = word0proof
</code></pre>
<p>检查首字母是否为元音或辅音的条件可以组合为:</p>
<pre><code>if len(word0) > 0 and word0.isalpha():
word0proof = word0
if word0proof in "aeiou":
wordoutput = word + "yay"
print (wordoutput)
elif word0proof in "bcdfghjklmnpqrstvwxyz":
word1 = word0proof
</code></pre>
<p>在你的逻辑中实现你想要的:</p>
<pre><code>while word1 in "bcdefghjklmnpqrstvwxz":
word1 = word[n:] + word0 + "ay"
n = n + 1
print word1
word1 = word1
</code></pre>
<p>当您仍然不知道下一次迭代是否有辅音时,您不必要地将<code>ay</code>赋值为end。我建议您首先找出要删除的字符串的多少部分,然后添加逻辑以附加<code>ay</code>。像这样:</p>
<pre><code>cons_index = -1
for index,letter in enumerate(word):
if letter not in "bcdefghjklmnpqrstvwxz":
cons_index = index
break
your_word = word[cons_index: ] + word[: cons_index] + "ay"
</code></pre>
<p>也不要使用太多的<code>variables</code>这会使您的代码难以理解,例如,不需要变量<code>word0</code>或<code>word0proof</code>或<code>word1</code>,您可以简单地作为<code>word[0]</code>访问它们。你知道吗</p>