Ожидаемое значение этого вопроса продолжает говорить мне, что это неправильно

#python-3.x #if-statement

Вопрос:

Я новичок в Python и программировании в целом, так что сжальтесь над моей душой, пожалуйста. Вопрос в том,:

Напишите код для присвоения строки «Вы можете подать заявку на SI!» для вывода, если строка «SI 106» находится в списке курсов. Если этого нет в курсах, присвойте переменной выходное значение «Take SI 106!».

 courses = ["ENGR 101", "SI 110", "ENG 125", "SI 106", "CHEM 130"]

if "SI 106" == courses:
    output = "You can apply to SI"
else: 
    output = "Take SI 106"
 

Это говорит мне, что я потерпел неудачу. Это должно быть «Возьмите СИ 106».

Я совершил ошибку? «SI 106» есть в списке, поэтому вывод должен быть «Вы можете подать заявку на SI», нет?

Комментарии:

1. Ты хочешь 'SI 106' in courses . == проверяет равенство, и a str не равно a list

2. Вместо "SI 106" == courses , что является проверкой на равенство, вы должны использовать "SI 106" in courses , которая проверяет, есть ли элемент "SI 106" в списке courses .

Ответ №1:

То, что вы ищете, — это ключевое in слово .

Ваш код должен выглядеть так (без комментариев)

 courses = ["ENGR 101", "SI 110", "ENG 125", "SI 106", "CHEM 130"]

if "SI 106" in courses:
    #       ^^
    output = "You can apply to SI"
else: 
    output = "Take SI 106"
 

Взгляните здесь для справки

Комментарии:

1. Я быстро успокоил себя, лол. Спасибо за помощь!