【发布时间】:2019-10-20 01:45:08
【问题描述】:
我正在尝试检查字符串中的每个字符是否大写。我必须使用循环,并且不能使用正则表达式。我的想法是循环检查每个字符是否都是大写的和已知的字符。如果它到达一个既不是大写又不是已知的字符,它退出循环并返回false,否则返回true。
for i in range(len(s)):
char = s[i]
if is_capitalized(char):
return True
else:
return False
break
else:
return False
这里是函数应该如何表现的文档字符串。 出于某种原因,is_all_caps('CHATte') 返回 True。
>>> is_all_caps('HA')
True
>>> is_all_caps('CHAT')
True
>>> is_all_caps('CHATte')
False
【问题讨论】:
-
下面的python不需要
for i in range(len(s)): char = s[i]可以直接用for x in s: if is_capitalized(x)遍历字符 -
"我必须使用循环,并且不能使用正则表达式" - 为什么?此外,这两种方法都不是解决问题的合适方法。字符串为此提供了自己的内置方法:例如
'CHAT'.isupper().