Python问题

请教一个小问题:

在Python中如何计算一行句子中的大写/小写字母数量?

thanks。

贴调试结果给你看吧;
>>> s="AaFSAsadsFA
>>> s
'AaFSAsadsFASDA'
>>> num_lLetter = len([a for a in s if a.islower()])
>>> num_lLetter
5
>>> num_uLetter = len([a for a in s if a.isupper()])
>>> num_uLetter
9

上面的语句中 [a for a in s if a.islower()]会返回一个字符列表,其中包含所有的小写字母,然后用len()函数就可以取得小写字母个数。
同理,len([a for a in s if a.isupper()])返回大写字母个数。

PS:[mapping-expression for element in source-list if filter-expression]是字符串常用语法。内建的,速度比较快。python中应当尽量使用内建模块加速程序,减少外部循环,特别注意减少递归。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-18
将句子保存为字符串s

lccount=0 #小写字母数量
uccount=0 #大写字母数量

for c in s:
....if 97<=ord(c)<=122: #小写
........lccount+=1
....elif 65<=ord(c)<=90: #大写
........uccount+=1
第2个回答  2008-09-18
设句子为s
lower_count = 0
upper_count = 0
for c in s:
if c.islower():
lower_count += 1
if c.isupper():
upper_count += 1
相似回答