という名前の関数に対して次の定義がありますintervals
。下部の print ステートメントから、この結果が得られます (リスト内のリストとして表される 9:00、9:30 などの 30 分の時間間隔であると思います)。
[[9, 0], [10, 30], [10, 30], [10, 30]]
以下の結果を希望します。
[[9, 0], [ 9, 30], [10, 0], [10, 30]]
実行の完全なログは次のとおりです。リストはとステートメントの間のループでlist
1 回だけ更新されますが、 の後で、次の の前に変更されることに注意してください。どうすればそれが起こりますか?while
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])
誰でも修正できますか?