【问题标题】:Checking elements of a list Python检查列表 Python 的元素
【发布时间】:2013-10-10 02:38:41
【问题描述】:
places=["Jack", "John", "Sochi"]
place = places[0]
while places != "Sochi" and count < len(places):

    if ' ' in place:
        multi_word += 1

    count += 1
    place = places[count]

我基本上希望程序通过为列表的每个元素添加一个来检查到索契有多少城市。然后,当它到达索契时,它会停止向列表中添加 1,然后当它到达索契时它什么也不做。该程序为列表的每个元素添加一个。然后它检查它们是否是列表的任何元素中的空格,如果是,则添加一个,但前提是列表的该元素来自索契。这个程序有什么问题? 这行还有什么作用..{count

【问题讨论】:

    标签: python loops while-loop


    【解决方案1】:

    我看到的主要错误是您需要检查if place != "Sochi",而不是使用places。假设您初始化 count=0,这将为您提供所需的输出:

    places = ["Jack", "John", "Sochi"]
    place  = places[count]
    while place != "Sochi" and count < len(places):
    
        if ' ' in place:
            multi_word += 1
    
        count += 1
        place = places[count]
    
    print 'Number of cities before Sochi:', count
    

    子句count &lt; len(places) 确保您不会尝试访问超出列表长度的places 中的索引,这将返回IndexError

    【讨论】:

      【解决方案2】:
      places = ["Jack", "John", "Sochi"]
      count=0
      multi_word=0
      place  = places[count]
      while place != "Sochi" and count < len(places):
          if ' ' in place:
              multi_word += 1
      
          count += 1
          place = places[count]
      
      print ('Number of cities before Sochi:', count)
      

      这里是固定代码

      【讨论】:

        猜你喜欢
        • 2019-05-10
        • 1970-01-01
        • 1970-01-01
        • 2016-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多