萌新的Python练习菜鸟100例(十七)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

分析:
· string模块的使用;

字符串实现了所有一般序列的操作,还额外提供了以下列出的一些附加方法。
字符串还支持两种字符串格式化样式,一种提供了很大程度的灵活性和可定制性 (参阅 str.format(), Format String Syntax 和 Custom String Formatting) 而另一种是基于 C printf 样式的格式化,它可处理的类型范围较窄,并且更难以正确使用,但对于它可处理的情况往往会更为快速 (printf 风格的字符串格式化)。
标准库的 文本处理服务 部分涵盖了许多其他模块,提供各种文本相关工具(例如包含于 re 模块中的正则表达式支持)。
——官方文档

· 使用len(s)统计字符串长度,当i小于len(s)时,将输入的字符串s属性改编为[i]list类型,并赋值给c
· string模块的常用方法,当c.isalpha返回字符串为真时,letters = litter +1;
· string模块的常用方法,当c.isspace返回空为真时,space = space +1;
· string模块的常用方法,当c.isdigit返回字符串为真时,digit = digit +1;

str.isalpha
如果字符串中至少有一个字符且所有字符均为字母则返回真值,否则返回假值。
str.isspace
如果字符串中至少有一个字符且所有字符均为空白字符则返回真值,否则返回假值。
str.isdigit
如果字符串中至少有一个字符且所有字符均为数字字符则返回真值,否则返回假值。
——官方文档

·

import string

s = input('请输入字符串:\n')
# 初始化
letters = 0
space = 0
digit = 0
other = 0

i = 0
while i < len(s):
    c = s[i]
    i = i + 1
    # 当c.isalpha为真时,letters = letters + 1
    if c.isalpha(): 
        letters += 1    
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        other += 1
print('char = %d, space = %d, digit = %d, other = %d' % (letters, space, digit, other))

你可能感兴趣的:(Python)