Как приравнивать значение переменной к одному из элементов списка?

Вопрос заключается в следующем: Как приравнивать текстовую переменную к одному из элементов списка? Код:

denb = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье']
n = input('Введите день недели: ')
for i in denb:
    if n == denb:
       print(i)

P.S. Задание: Напишите программу, которая принимает от пользователя день недели в виде строки и выводит его номер на экран.


Ответы (3 шт):

Автор решения: Dmitry

Можете воспользоваться методом index. Необходимо учесть что счет начинается с нуля.

denb = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье']
n = input('Введите день недели: ')
if n in denb:
    print(denb.index(n)) # с нуля
    print(denb.index(n) + 1) #  с еденицы
else:
    print(f"Дня недели с именем {n} нет")
→ Ссылка
Автор решения: Andy Pavlov

Проверить вхождение можно двумя вариантами через метод списка index() или через прямой поиск номера дня через нумерацию списка с помощью enumerate() и дальнейшего сравнения строки

denb = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье']
n = input('Введите день недели: ').lower()

Через index()

print(denb.index(n) + 1 if n in denb else 'Не тот день')

Через enumerate()

print(next((idn + 1 for idn, d in enumerate(denb) if d == n), 'Не тот день'))
→ Ссылка
Автор решения: Игорь Поздняков

С помощью enumerate:

dayofWeek = input("Введите день недели: ")
week = ["понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье"]
print('Номер дня недели:', end =' ')
for number, day in enumerate (week): 
  if dayofWeek == day:
    print(number + 1)
→ Ссылка