Как перебрать список на основе условия?
Вот моя гипотетическая ситуация: есть список людей, ожидающих за пределами клуба. Вышибала допускает в клуб только людей с идентификатором 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 довольно распространены и существуют на нескольких языках, так что это ваш лучший выбор.