AttributeError: у объекта 'list' нет атрибута 'setswith' - PullRequest
0 голосов
/ 03 мая 2020
cities = ["New York", "Shanghai", "Munich", "Tokyo", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]

for city_m in cities:
    if cities.startswith("M"):
        print("Cities that start with M:", cities)
    else:
        print("No cities start with M.")

печать (города)

AttributeError Traceback (последний последний вызов) в () 4 5 для city_m в городах: ----> 6, если towns.startswith ("M"): 7 print ("Города, начинающиеся с M:", города) 8 else:

AttributeError: у объекта 'list' нет атрибута 'setswith'

Я пытаюсь перечислить города, которые начинаются с «м», но я получаю ошибку в названии, и я не понимаю ее. Может быть, я делаю что-то не так, и я ценю любые отзывы по этому вопросу. Заранее спасибо.

1 Ответ

0 голосов
/ 03 мая 2020

Вы ссылаетесь на неправильную переменную в for для l oop:

for city_m in cities:
    if cities.startswith("M"):

, это должно быть:

for city_m in cities:
    if city_m.startswith("M"):

Хотя это не полностью решит вашу проблему, так как Вы просматриваете весь список, и это будет печатать города каждый раз, вместо этого вы должны добавить города, начинающиеся с m, в список, а затем проверить этот список за пределами l oop:


cities = ["New York", "Shanghai", "Munich", "Tokyo", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]

m_cities = []

for city_m in cities:
    if city_m.startswith("M"):
        m_cities.append(city_m)

if m_cities:
    print("Cities that start with M:", m_cities)
else:
    print("No cities start with M.")

# Prints "Cities that start with M: ['Munich', 'Mexico City']"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...