Я пытаюсь решить проблему, редактируя список, который отслеживает закрытые и открытые шкафчики в школе, код, который я получил, следующий:
y = list()
lockers = 100
students = 100
s = 2
i = 0
while i < lockers:
y.append("O")
i = i + 1
w = len(y)
while s <= students:
for x in range(s, w, s):
if y[x] == "O":
y[x] = "C"
if y[x] == "C":
y[x] = "O"
s = s + 1
openLockers = y.count("O")
print(openLockers)
Код работает без ошибок, но возвращает значение 100. Я устранял неполадки каждой переменной, и все они были изменены. Я пришел к выводу, что проблема заключается в линиях
y[x] = "C"
и
y[x] = "C"
Список не меняется вообще после этих строк.
Я добавил w, чтобы не использовать len(y)
внутри функции диапазона, и я не могу использовать
for i in y
потому что мне нужно сделать шаг между элементами в цикле y
.
Я хочу иметь возможность изменять элементы в списке внутри цикла или использовать обходной путь ...