python100例讲解-【python】编程语言入门经典100例--17

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

代码:

2

3 li =list(input('输入一行字符:'))

4 liletter = []

5 linum = []

6 lispace = []

7 liother = []

8 for x in li:

9 if str.isalpha(x) == True:

10 liletter.append(x)

11 elif str.isspace(x):

12 lispace.append(x)

13 elif str.isdigit(x) == True:

14 linum.append(x)

15 else:

16 liother.append(x)

17 print('这行字符串的英文字母有%d个,空格有%d个,数字有%d个,其它字符有%d个'%(len(liletter),len(lispace),len(linum),len(liother)))

运行结果:

[root@HK code_100]# python code_17.py

输入一行字符:12 jkl*^hjk &*^&*Hkjh 123123 fskldkl2354 ewrjlk234$

这行字符串的英文字母有23个,空格有9个,数字有15个,其它字符有8个

[root@HK code_100]# python code_17.py

输入一行字符:1 e # dfs 234 2k3r43yiuofds o9 sdf

这行字符串的英文字母有17个,空格有10个,数字有9个,其它字符有1个

[root@HK code_100]# python code_17.py

输入一行字符:234jl 2134j oijo sf 08 @#&*jhjho &*^&* (!@*!_) 234 dsfs

这行字符串的英文字母有18个,空格有12个,数字有12个,其它字符有16个

[root@HK code_100]#

代码分析:

# 这个不能用type(x) == type ('2')这种方式,因为将这一行字符转换成list后,list中的元素都是str类型,所以不能用这种方式.

2

3 li =list(input('输入一行字符:')) #接收输入的字符,转换成list

4 liletter = [] #建立需要使用的list

5 linum = []

6 lispace = []

7 liother = []

8 for x in li: #遍历list

9 if str.isalpha(x) == True: # 如果这个字符是字母

10 liletter.append(x) # 添加到相应list

11 elif str.isspace(x): #如果这个字符是空格

12 lispace.append(x) # 添加到相应list

13 elif str.isdigit(x) == True: #如果这个字符是数字

14 linum.append(x) #添加到相应list

15 else: #其余未匹配字符

16 liother.append(x) #添加到相应list

17 print('这行字符串的英文字母有%d个,空格有%d个,数字有%d个,其它字符有%d个'%(len(liletter),len(lispace),len(linum),len(liother))) #打印结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值