我对名为intervals
. 从底部的打印语句中我得到了这个结果(我相信这是半小时的时间间隔,如 9:00、9:30 等,以列表中的列表表示)。
[[9, 0], [10, 30], [10, 30], [10, 30]]
我想要以下结果。
[[9, 0], [ 9, 30], [10, 0], [10, 30]]
完整的运行日志如下。请注意,列表list
仅在and语句while
之间的循环中更新一次,但在 next之后和之前发生变化。怎么会这样?print "b(efore)"
print "a(fter)"
list
after
before
[9, 30] [[9, 0]] b
[9, 30] [[9, 0], [9, 30]] a
[10, 0] [[9, 0], [10, 0]] b
[10, 0] [[9, 0], [10, 0], [10, 0]] a
[10, 30] [[9, 0], [10, 30], [10, 30]] b
[10, 30] [[9, 0], [10, 30], [10, 30], [10, 30]] a
[[9, 0], [10, 30], [10, 30], [10, 30]]
def intervals(start,end):
if start>=end:
return []
else:
if 0<=start[1]<30:
start[1]=0
else:
start[1]=30
list = []
list.append(start)
last = start
new=[0,0]
while end>last:
if 30==last[1]:
new[0]=1+last[0]
new[1]=0
else:
new[0]=last[0]
new[1]=30
last=new
print new,list,"b"
list.append(new)
print new,list,"a"
return list
print intervals([9,0],[10,30])
任何人都可以修复它吗?