s = 143*'687'
while s.find('68') or s.find('7777'):
s = s.replace('68', '7', 1);
s = s.replace('7777', '7', 1);
print(s)
在调试器中,可以看到获取到了行7
,但是循环并没有结束。为什么?while 终止的标准是什么?在条件下应该只得到 0 吗?然后如何纠正我的周期?
s = 143*'687'
while s.find('68') or s.find('7777'):
s = s.replace('68', '7', 1);
s = s.replace('7777', '7', 1);
print(s)
在调试器中,可以看到获取到了行7
,但是循环并没有结束。为什么?while 终止的标准是什么?在条件下应该只得到 0 吗?然后如何纠正我的周期?
试错法
while
只要值为True
True
在 python 中-这是所有不是False
(逻辑上)的东西-也就是说,所有不是:None
0
''
[]
(list()
){}
(dict()
)set()
False
也就是说,要结束循环,您需要一个条件
s.find('68') > -1 or s.find('7777') > -1
(或!=
)