我如何使用 while 循环执行此操作?

How do i do this using the while loop?

l1 = ["Harry", "Soham", "Sam", "Rahul"]
for name in l1:
     if name.startswith("S"):
         print("Hello " + name + "!")  

如何使用 while 循环执行此操作? (name., starts, with are without spaces.)

x=0
l1 = ["Harry", "Soham", "Sam", "Rahul"]
while x<len(l1):
  if l1[x].startswith("S"):
    print("Hello " + l1[x] + "!")
  x+=1

如您所见,有很多方法可以做到这一点。这是另一个:

list_ = ["Harry", "Soham", "Sam", "Rahul"]

while list_:
    if (name := list_.pop(0)).startswith('S'):
        print(f'Hello {name}!')

注:

这是破坏性的。如果您不想破坏原始列表,请处理副本