我编写了一个有趣的函数,用于检查一个字符串中是否包含数字。
def check_digit_placement(w):
if w.isalpha():
return True
else:
i = 0
while True:
if w[i].isdigit():
return True # 这里如果没有“break”,会导致无限循环吗?
else:
return False # 同样这里也是。
i += 1
if i > len(w):
break
这个函数似乎可以正常运行,但我还是有点担心,如注释中所示:如果没有恰当的break
语句,循环会在某个i值处卡住,并无限次地返回"True"或"False"吗?如果确实会这样,为什么这个函数看起来还能正常工作呢?非常期待能得到大家的帮助和解答。