Python判断列表字符串全为titlecase时循环仅执行一次的解决方法
问题根因
你的判断完全正确,循环提前终止就是return语句的问题。你现在的逻辑是遍历第一个元素时就会直接返回结果:如果第一个字符串不符合titlecase规则就返回False,符合就直接返回True,完全不会执行后续遍历。
修复代码
删掉else分支里的return True,把这个返回语句移到for循环的外层即可:
word_list = ["ABC", "abc", "Abc"] def all_title_case(word_list): for word in word_list: if not word.istitle(): return False # 所有元素都校验通过后再返回True return True print(all_title_case(word_list))
运行说明
你给出的测试用例中第一个元素"ABC"调用istitle()会返回False,所以最终输出结果为False。如果把测试列表换成["Abc", "Hello", "Python"]这种全符合titlecase规则的内容,运行后就会返回True。
内容的提问来源于stack exchange,提问作者absolutkaffe
相关产品推荐
相关产品推荐

