基本思路,把所有情况遍历即可,用一个flag记录第一个字母是大写还是小写,用count记录里面是否有大写的字母,最后只需要考虑count的长度,就知道大小写的关系,代码如下
flag=0
if 65<=ord(word[0])<=90:
flag=1
word= word.replace(word[0],"",1)
count=0
for i in word:
k=ord(i)
if 97<=k<=122:
count+=0 #small
elif 65<=k<=90:
count+=1 #big
if (count==0 )or (count==len(word) and flag==1):
return True
return False