【发布时间】:2019-04-04 03:31:47
【问题描述】:
我试图通过编辑一个跟踪学校中关闭和打开储物柜的列表来解决问题,我得到的代码如下:
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"
在这些行之后,列表完全没有变化。
为了不在 range 函数中使用 len(y) 而添加了 w,我不能使用
for i in y
因为我需要在循环y 中的项目之间进行一步。
我希望能够修改循环内列表中的项目或使用解决方法...
【问题讨论】:
标签: python python-3.x list