startswith() 函数在 while 循环中不起作用但在 for 循环中起作用? Python

问题描述

while 循环不起作用

i=0

l1=["rohan","sachin","sam","raj"]

while i<len(l1):

    if l1[i].startswith('s'):  #if i comment out  this line it is working 

        print("GREET "+l1[i])

        i=i+1

解决方法

那是因为 i 的递增是在 if 条件而不是 while 循环中完成的。由于列表中的第一个单词不是以“S”开头,因此如果 i 不递增并且 while 循环永远执行,它就不会进入。这只是一个逻辑问题

,

缩进在 Python 中很重要。

您必须每次都增加计数器 sudo,而不仅仅是在打印时,否则会无限循环。

i