我应该写一个代码来检查一个单词的某些音节(例如:中的,ex,都是)。如果单词仅由这些音节组成,则代码返回“是”和“否”,否则返回(如果单词还包含其他音节)。这个赋值要求我使用一个while true
循环,虽然我想出了一个更简单的方法来让这段代码工作,但我不知道从哪里开始为这个问题创建一个while true
循环。
我当前的代码只适用于所有音节都的单词:
def check(word):
pos = 0
while True:
if pos < len(word):
if word[pos:pos+2] == "in":
pos += 2
break
if word[pos:pos+2] == "ex":
pos += 2
break
if word[pos:pos+3] == "are":
pos += 3
break
return "YES"
对于重叠的音节,实际上可能需要某种回溯。一个简单的解决方案可以在。。。否则,像这样:
在没有实际代码的情况下,while True循环可用于继续请求用户输入,直到输入了一个特殊的“stop word”。
这将允许用户输入几个单词进行检查,而无需每次重新启动程序。
如果出于某种原因,您决定使用while循环,它将如下所示:
然而,这可能是解决问题的更糟糕的方法。在迭代一个集合时,使用
for
循环来防止不必要地检查整个集合是否已被检查,通常效率更高。for循环实现可能如下所示:相关问题 更多 >
编程相关推荐