Вам нужно, чтобы условие выполнилось, если все эти люди находятся в массиве (в Python - это список)
Значит у вас уже есть список с этими именами.
Значит вам нужен другой список, на основании которого будет производиться сравнение, верно?
Такой список, который вы будете создавать во время переклички
students = ["Вася", "Петя", "Ваня", "Света"] # Должно быть так
students = ["Петя", "Ваня", "Света"] # А не так или как-то иначе
Списки должны совпасть.
Значит в момент переклички создаёте ещё один список, куда помещаете присутствующих,
иначе какой смысл в перекличке, если не с чем сравнивать.
Поэтому:
all_students = ["Вася", "Петя", "Ваня", "Света"]
current_students = [] # сюда помещаете имена людей в момент переклички
current_students.append('Вася') # добавляете имена в момент переклички в пустой список
current_students.append('Петя')
current_students.append('Ваня')
current_students.append('Света')
if all_students == current_students:
print ('Все студенты на месте. Начинаем занятие!')
else:
for name in all_students:
if name not in current_students:
print ('Занятие отменяется из-за отсутствия ' + name.title())
# Результат:
# ---> Все студенты на месте. Начинаем занятие!
Если кто-то не пришёл и не попал в список создаваемый во время переклички, то:
all_students = ["Вася", "Петя", "Ваня", "Света"]
current_students = []
current_students.append('Вася')
# current_students.append('Петя') # не явился
current_students.append('Ваня')
current_students.append('Света')
if all_students == current_students:
print ('Все студенты на месте. Начинаем занятие!')
else:
for name in all_students:
if name not in current_students:
print ('Занятие отменяется из-за отсутствия ' + name.title())
# Результат:
# ---> Занятие отменяется из-за отсутствии Петя!