0

这是我们的复习作业。我完全不知道该怎么做,因为我已经离开了很长一段时间。如果有人能告诉我我需要学习什么才能完成这项任务。该程序将在途中输出您在洛杉矶道奇队体育场之前需要参观的地方。在 La dodgers 体育场之后参观的地方不算在内。它还必须输出名称超过一个单词的访问过的地方的数量(例如 San Jose。)问题是在这种情况下您必须使用 while 循环 - 您可能不使用 python 的 find 方法。

样本

>>> places= ["Home","In-n Out Burger", "John's house", "Santa Monica Pier", "Staples center",  "LA Dodgers stadium", "Home" ]
>>> placesCount(places)
6 places to LA dodgers stadium
5 with multi-word names
4

4 回答 4

3

注意:下面的完整答案。

除非我遗漏了什么,否则这很简单:

>>> def placesCount(places):
    multi_word = 0
    count = 0
    while True:
        place = places[count]
        if place == 'LA Dodgers stadium':
            break
        if ' ' in place:
            multi_word += 1
        count += 1
    return count + 1, multi_word + 1

>>> placesCount(places)
(6, 5)
于 2013-10-07T03:37:19.453 回答
2

提示...</p>

def placesCount(places):
    '''Given a list `places`, determine how many elements exist before "LA Dodgers stadium",
    and how many places have spaces in them. Don't use `list.index`.'''
    spaces = 0
    for idx, val in enumerate(places):
        if val == 'LA Dodgers stadium':
            print ??? # What should we print here?
        if ' ' in val:
            # increment spaces
    print ??? # What should we print here?
于 2013-10-07T03:36:49.127 回答
2

你知道如何用 Python 做些什么吗?看起来你需要

  1. 写一个函数,即
  2. 将列表作为参数,并且
  3. 使用while循环查看列表的元素,
  4. 测试一个地方是否有空格,
  5. 测试一个地方是否是洛杉矶道奇队体育场
  6. 知道我们是否去过洛杉矶道奇队体育场,
  7. 计算列表中该项目之前发生了多少事情,
  8. 计算有多少地方有多个单词,
  9. 打印这些数字以及随附的文本。

其中哪些你不知道该怎么做?制作函数,制作带参数的函数,使用while循环,从列表中获取项目,测试字符串中是否有空格,测试字符串是否与另一个字符串相同,通过将信息写入变量来记住信息,通过将数字分配给变量并使它们变大来计数,将字符串和数字打印到屏幕上?

于 2013-10-07T03:37:54.627 回答
1

这是我所做的:

places= ["Home","In-n Out Burger", "John's house", "Santa Monica Pier", "Staples center",  "LA Dodgers stadium", "Home" ]

def placesCount(places):
    placesToGo = 0
    for i in range (len(places)):
        if places[i] == "LA Dodgers stadium":
            placesToGo = placesToGo + 1
            print placesToGo, "places to LA dodgers stadium"
        else:
            placesToGo = placesToGo + 1
def multiCount(places):
    spaces = 0
    multiWords = 0
    for j in range (len(places)):
        word = places[j]
        for characters in word:
            if characters == " ":
                spaces = spaces + 1
        if spaces != 0:
            multiWords = multiWords + 1
            spaces = 0
    print multiWords, "multi-word names"

placesCount(places)
multiCount(places)
于 2013-10-07T04:41:22.063 回答