В попытке максимально приблизиться к вашему коду, приведенный ниже код работает для того, что вы описываете.
В коде есть три основных исправления:
У вас есть внутреннее while l oop, в котором нет необходимости. На каждом проходе внешнего вида l oop вы можете спросить о каждом ученике, вывести желаемую посещаемость и скорректировать оценку посещаемости. Нет необходимости во втором l oop внутри.
Вы продолжаете изменять значение «единицы», а не увеличиваете или уменьшаете его. Вы можете установить единицу равной 0 за пределами l oop (как вы делаете со своим счетчиком i) и настроить его внутри l oop.
Вероятно, вы не хотите, чтобы непосещаемость равнялась -1, а, наоборот, ставили его равным нулю. Представьте себе сценарий с 3 участниками и 2 не участниками. Ваша оценка будет равна 1 + 1 + 1-1-1, при оценке посещаемости 1 - тогда как на самом деле оценка посещаемости равна 3.
Также нет необходимости в Переменная "continueLooping" в начале.
Последний пункт, если вы хотите процент, вы можете умножить процентное значение на 100 (оно возвращает десятичное значение).
Рабочий код с этими исправлениями:
students=["Annie", "Brian", "Clare", "Danny", "Ellen"]
i=0
one = 0
while i<len(students):
askuser=input(f"Is {students[i]} present?[y/n]")
i=i+1
if askuser == "y":
one += 1
print("1")
else:
print("0")
percentage=(one)/len(students)
print(percentage)