Как перебрать список на основе условия?

Вот моя гипотетическая ситуация: есть список людей, ожидающих за пределами клуба. Вышибала допускает в клуб только людей с идентификатором 18 лет и старше. Если они моложе 18 лет, им отказывают в приеме. Предположим, вы знаете, сколько людей в очереди хотят ввести, это 18, 27, 16, 17. Я создал код, чтобы попытаться выполнить его, но просто не могу заставить его работать. Он работает для тестирования всех элементов от 0 до 99, но я хочу, чтобы он проверял только элементы в списке. Кто-нибудь может мне помочь?

ages_of_people_waiting_outside_club = [18,27,16,17]
ages_of_people_waiting_outside_club = range(0,100)
for ids in range(0,100):
    if ids >= 18:
        print("you may enter")
    else:
        print("sorry, you can not come in")

2 ответа

Это должно работать:

ages_of_people_waiting_outside_club = [18,27,16,17]
#ages_of_people_waiting_outside_club = range(0,100)
for ids in ages_of_people_waiting_outside_club:
    if ids >= 18:
        print("you may enter")
    else:
        print("sorry, you can not come in")

В этом случае я бы рекомендовал использовать цикл foreach, а затем вложить в оператор if и else. Цикл foreach будет проходить по всему списку, затем вы можете добавить в него операторы if и else, которые вы показали выше. Вот пример использования PHP:

    foreach($age_of_people_waiting as $age) {
    if($age >= 18){
     print("you may enter");
    }else{
    print("sorry, you can not come in");
    }
 }

Это делает массив, содержащий возраст, в этом случае $age_of_people_waiting преобразуется в индивидуальное значение для каждого раздела в массиве, это значение будет передано как $age. Тогда оператор if проверит, является ли значение $ age, на которое он включен, 18 или более. Если это так, он печатает "вы можете войти", если нет, он печатает "извините, вы не можете войти". Я не уверен, какой язык кодирования вы используете, но циклы foreach довольно распространены и существуют на нескольких языках, так что это ваш лучший выбор.

Другие вопросы по тегам