Jupyter笔记本中的Python while循环未执行
我是python编程新手,我用C执行了这个问题,但我可以用python解决它,因为它不会在Jupyter笔记本上抛出错误,只是单元格上的一个星号 为了避免索引越界错误,我循环了列表。 请帮忙Jupyter笔记本中的Python while循环未执行,python,python-3.x,while-loop,jupyter-notebook,Python,Python 3.x,While Loop,Jupyter Notebook,我是python编程新手,我用C执行了这个问题,但我可以用python解决它,因为它不会在Jupyter笔记本上抛出错误,只是单元格上的一个星号 为了避免索引越界错误,我循环了列表。 请帮忙 s='UDDDUDUU' n=8 s=list(s) seaLevel=0 valley=0 li=[] for i in s: if i=='D': seaLevel-=1 li.append(seaLevel) elif i=='U': s
s='UDDDUDUU'
n=8
s=list(s)
seaLevel=0
valley=0
li=[]
for i in s:
if i=='D':
seaLevel-=1
li.append(seaLevel)
elif i=='U':
seaLevel+=1
li.append(seaLevel)
i=0
j=0
while i<n:
if li[i]==0 and li[(i+1)%n]<0:
valley+=1
j=i+1
while li[j]<0 and j<n:
j=+1
i=j
else:
i+=1
valley
s='UDDDUDUU'
n=8
s=列表
海平面=0
谷=0
li=[]
对于s中的i:
如果i=='D':
海平面-=1
李.附加(海平面)
elif i=='U':
海平面+=1
李.附加(海平面)
i=0
j=0
而我第21行不是打字错误吗?这行似乎一直在使j==1
,还有i。单元格上的星号通常表示有一个无限循环,代码段不会终止。您的代码就是这种情况——您的while循环是一个无限循环
while i<n:
if li[i]==0 and li[(i+1)%n]<0:
valley+=1
j=i+1
while li[j]<0 and j<n:
j=+1 !!!!!!!!!!!!!!!!!!!!!!!!!
i=j
else:
i+=1
同时输入一些打印语句以检查列表是否已填充。还有,你是想在最后打印(山谷)
吗?是的,很抱歉,实际上我在写jupyter笔记本。