Вы ссылаетесь на неправильную переменную в 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']"