Создать списк содержащий названия месяцев/дней/планет/что-нибудь на свой вкус. Запросить название и вывести информацию о позиции элемента в списке в художественной форме. Если элемент отсутсвует, сообщить об этом.
Мы уже умеем узнавать значение элемента по его порядковому номеру в списке. Но часто бывает, что надо решить обратную задачу, узнать номер элемента по его значению.
Для этого у списка есть метод index (от англ. таки просто индекс)
Делается это так
summer = ["июнь", "июль", "август"] # создали список
x = "июль" # объявили переменную со значением второго элемента
i = summer.index(x) # запросили порядковый номер значения x в списке summer
print(f"{x} находится на {i} позиции в списке {summer}") # вывели фразу
Это нам выдаст
хм, только вот он же на второй должен быть? А ну да нумерация же идет с нуля. Так что, чтобы фраза выглядела корректно надо добавить +1 к i, типа так:
print(f"{x} находится на {i + 1} позиции в списке {summer}") # вывели фразу
теперь другое дело.
Кстати можно проверить что index действительно работает правильно, например, взять найти индекс по значению, а потом получить значения по номеру, вот так например
summer = ["июнь", "июль", "август"] # создали список
x = "июль" # объявили переменную со значением второго элемента
i = summer.index(x) # запросили порядковый номер значения x в списке summer
value = summer[i] # получили значение по найденному порядковому номеру
print(f"{x} равно {value}") # выдаст "июль равно июль"
Один тонкий момент, когда хотим узнать значение важно чтобы значение присутствовало в списке. Например, если попробуем найти номер не существующего значения
summer = ["июнь", "июль", "август"]
x = "апрель"
i = summer.index(x)
print(i)
то получим красную ошибку:
поэтому перед тем как узнать номер, проверяйте есть ли элемент в списке:
summer = ["июнь", "июль", "август"]
x = "апрель"
if x in summer:
i = summer.index(x)
print(i)
else:
print("Элемента нет в списке")
кстати есть возможность проверять не присутствие элемента в списке, а его отсутствие, для этого используется конструкция not in
summer = ["июнь", "июль", "август"]
x = "апрель"
if x not in summer: # тут теперь у меня будет not in
print("Элемента нет в списке")
else:
i = summer.index(x)
print(i)
выдаст этот код тоже самое:
Итого
- Если хотите узнать номер элемента в списке items, используйте функцию index, нпр:
i = items.index(x)
- Если хотите вывести номер элемента в общепринятой системе отсчета, то есть от единицы, добавляйте к индексу 1, нпр:
print(f"{i + 1}"
- Перед тем как узнать номер элемента в списке, проверьте его существование через
if x in summer
- Либо проверьте его отсутствие чтобы ничего не делать
if x not in summer