字符串无法在Python循环结束时正确重置

2024-05-26 11:11:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个程序,你可以输入一个单词,然后在输入的单词中的每个元音之前添加一些文本。程序将要求用户再次播放,直到输入“n”表示“否”。在

但是,当输入“y”时,它会继续播放,但发生的情况是:

首次运行程序:

Enter first syllable: ip
Enter second syllable: *zz
Enter word to translate: gibberish
Your translated word is: gipibbezzerizzish
Would you like to play again(y/n)? y
Enter first syllable: ip
Enter second syllable: *zz
Enter word to translate: gibberish
Your translated word is: gizzibbezzerizzish
Would you like to play again(y/n)? 

第一个结果“gipibbezzerizzish”是正确的。第二次运行时,出现了一个错误,结果是“gizzibbezzerizzish”是不正确的。在

在循环的最后,我所做的是使final_str=“”启动备份时,它是空的,但由于某些原因这不起作用?这里怎么了?在

我使用的是python3.2.3。在

代码:

^{pr2}$

Tags: to程序ipyouris单词translateword
2条回答

在循环中有很多变量没有被重置:vowelcountfirst_vowel_count,和{}。在

在底部的if语句中包含该代码是不必要的,如果playagain'n',则不会出现在while循环中。在

不管怎样,final_str在那里肯定会被重置,但是你还需要重置vowelcountfirst_vowel_count,和{}。你最好把它们放在循环的开始处,这样就干燥了。在

相关问题 更多 >