Python 如何检查列表中的每三个元素并计算该字符串中的元音?
a。定义一个名为wordlist的字符串列表。列表应至少包含10个字符串 b。从第一个元素(即元素0)开始,检查循环中列表的每三个元素(即第0个元素、第3个元素、第6个元素、第9个元素……等等),并计算该字符串中的元音数 c。用合适的信息打印字符串和串中的元音数 d。如果字符串包含3个或更多元音,则退出循环(不需要检查其余元素) e。如果在找到包含3个或更多元音的字符串后退出循环,请打印“找到包含3个或更多元音的字符串!”强>';否则打印“未找到合适的字符串。” 示例输出: 如果有人能给我指引正确的方向,我会在B部分遇到麻烦Python 如何检查列表中的每三个元素并计算该字符串中的元音?,python,string,list,loops,count,Python,String,List,Loops,Count,a。定义一个名为wordlist的字符串列表。列表应至少包含10个字符串 b。从第一个元素(即元素0)开始,检查循环中列表的每三个元素(即第0个元素、第3个元素、第6个元素、第9个元素……等等),并计算该字符串中的元音数 c。用合适的信息打印字符串和串中的元音数 d。如果字符串包含3个或更多元音,则退出循环(不需要检查其余元素) e。如果在找到包含3个或更多元音的字符串后退出循环,请打印“找到包含3个或更多元音的字符串!”';否则打印“未找到合适的字符串。” 示例输出: 如果有人能给我指引正确
wordlist = ['hat' ,'bat' ,'cat','dog','bird','bear','lion','tiger','frog','mouse']
这听起来像你的家庭作业。请确保逐行仔细阅读,并理解其工作原理
例如,如果我们省略元音中的字符,会发生什么?
i%3==0
是什么意思?如果我们改为尝试i%3==1
会得到什么
为什么使用string.lower()
很重要?这可能会帮助您:
wordlist = ['hat', 'bat', 'cat', 'dog', 'bird', 'bear', 'lion', 'tiger', 'frog', 'mouse']
if len(wordlist) < 10:
print("Error. list length must be grater than 10")
exit(-1)
found = False
for word in wordlist[::3]:
count = sum(map(word.lower().count, "aeiou"))
if count >= 3:
print('Found string with 3 or more vowels!')
found = True
break
print("The string %s contains %d vowel(s)" % (word, count))
if not found:
print("Did not find suitable string.")
wordlist=[“帽子”、“蝙蝠”、“猫”、“狗”、“鸟”、“熊”、“狮子”、“老虎”、“青蛙”、“老鼠”]
如果len(字表)<10:
打印(“错误。列表长度必须大于10”)
出口(-1)
发现=错误
对于单词列表中的单词[::3]:
count=sum(映射(word.lower().count,“aeiou”))
如果计数>=3:
print('找到包含3个或更多元音的字符串!')
找到=真
打破
打印(“字符串%s包含%d个元音)”%(单词,计数))
如果未找到:
打印(“未找到合适的字符串”)
首先,这看起来很像是家庭作业问题之类的。这就是说,这里不是寻求家庭作业帮助的地方,相反,你应该问一些关于一般算法或策略的问题。也许不是,所以这里有一个一般性的建议
我不认为它有一个具体的例子,但可能会有所帮助。要获取列表的每n个索引(从0开始),可以执行列表[0::n]。这将返回一个新列表,其中包含原始列表的第n个条目
从这里开始,计算每个元音是非常基本的字符串操作和/或列表比较。请告诉我们您尝试了什么,我们可以提供更具体的反馈,但这可能是您应该使用的。您尝试了哪些代码?因此,我们为您做了准备,您甚至可以在自己不尝试的情况下获得100%的回报?但是你怎样才能通过考试呢?试着打印(['没有找到合适的字符串','find string with 3个或更多元音!'][any([[uuu.for.[uu.in.[uu.in.[uuu.if.[uu.in“aeiou]”),打印({}有{>}个元音)。[格式([uuuu,len([[uu])for>.in.[uuu.[uuu.]if.[uu.[uu.]in“aeiou]中])]。。。或者你可能想在复习完之后再回答你的问题。我怀疑OP是否有时间阅读这篇文章。他甚至没有自由地重新组织他的问题。
for i in range(0,len(wordlist),3):word=wordlist[i]
可以用for wordlist[::3]:
替换。
wordlist = ['hat', 'bat', 'cat', 'dog', 'bird', 'bear', 'lion', 'tiger', 'frog', 'mouse']
if len(wordlist) < 10:
print("Error. list length must be grater than 10")
exit(-1)
found = False
for word in wordlist[::3]:
count = sum(map(word.lower().count, "aeiou"))
if count >= 3:
print('Found string with 3 or more vowels!')
found = True
break
print("The string %s contains %d vowel(s)" % (word, count))
if not found:
print("Did not find suitable string.")