我是Python的初学者,我希望我的代码能将前一两个辅音移到单词的末尾并添加-ay。我已经得到了我的代码来做这件事,但它不适用于句子。我需要帮助整理名单。同样,返回的翻译句子需要以大写字母开头,以句点结尾,就像输入句子一样,但我不知道从哪里开始!以下是我目前为止的代码:
pyg = 'ay'
original = raw_input('Enter a sentence:')
word = original.lower()
word_list = word.split
count = 0
for word in word_list:
if word[1] == "a" or word[1] == "e" or word[1] == "i" or word[1] == "u" or
word[1] == "o" or word[1] == "y":
first = word[0]
new_word = word + first + pyg
new_word = new_word[1:len(new_word)]
print new_word
else:
if word[1] != "a" or word[1] != "e" or word[1] != "i" or word[1] != "u" or
word[1] != "o" or word[1] != "y":
first = word[0]
second = word[1]
second_word = word + first + second + pyg
second_word = second_word[2:len(second_word)]
print second_word
这是你所说的话的一个稍微概括的版本。不同的是下面的代码不看前一个或两个字母:它将所有的首辅音移到末尾,这样}。你的问题陈述说应该是
string
变成{ringstay
,但这与我小时候学的猪拉丁语不符。我这样做的部分原因是我认为你的规范不完整,部分原因是它使代码更简单,更容易理解。如果ringstay
确实是您想要的,您可以随时修改代码。(提示:在while
循环中放置一个计数器)这段代码中也有一个错误,尽管你不太可能找到它:如果一个输入字根本不包含元音,例如cwm(一种威尔士小提琴),那么while
循环将永远不会终止。(提示:相同的解决方案。)我还没有加上这样的精化,我还记得我的童年时代,一个以元音开头的单词的后缀},所以{}就变成了}。在
way
不是{Iway amway oodgay
不是{{{cdthonic{12}的成员资格测试{cdthonic}不使用。在
提供一个大写字母和最后一个句号要求你把问题分成两部分:(1)转换单词,(2)给句子加标点。如果你在继续的过程中
print
输出转换后的单词,那么就不能这样做了。所以下面的代码将单词组合成一个result
列表,然后将单词列表串成最后一个标点的句子。在就我个人而言,我认为在一个名为
word
的变量中存储一个句子不是一种好的方式,特别是如果代码在以后的某个时刻将一个单词存储在同一个变量中。所以我也修改了。在编辑,因为我的提示不够明确:
要限制移到末尾的辅音的数量,需要对其进行计数:
^{pr2}$为了确保程序不会被没有辅音的单词放入无限循环中:
相关问题 更多 >
编程相关推荐