places= ["Home","In-n Out Burger", "John's house", "Santa Monica Pier", "Staples center", "LA Dodgers stadium", "Home"]
def placesCount(places):
multi_word = 0
count = 0
while True:
place = places[count]
if ' ' in place and place!='LA Dodgers stadium' **""" or anything that comes after LA dogers stadium"""** :
multi_word += 1
if '' in place and place!='LA Dodgers stadium' """ **or anything that comes after LA dogers stadium**""":
count += 1
print (count, "places to LA dodgers stadium"), print (multi_word)
placesCount(places)
我主要想知道,在这种情况下,当while循环到达列表的某个元素("LA Dodgers Stadium"
)时,如何阻止它添加到列表中。它不应该在到达列表的该元素之后添加任何内容。你知道吗
你的代码似乎有效。下面是一个稍微好一点的版本:
或使用itertools:
下面是一个如何使用函数的示例(与原来的示例没有变化,顺便说一句,函数的行为仍然相同-接受一个位置列表并返回一个包含两个计数的元组):
这个代码似乎工作得很好。我打印了placeScont的结果,结果是(6,5)。看起来这意味着函数命中了6个单词,其中5个是多单词。符合你的数据。你知道吗
正如Fredrik提到的,使用for place-in-places循环将是一种更好的方法来完成您要做的事情。你知道吗
相关问题 更多 >
编程相关推荐