首页 > 编程语言 > 详细

【Python】【demo实验5】【练习实例】【统计输入字符串中,数字的个数、英文字母的个数及其他符号的个数】

时间:2019-09-30 17:40:35      阅读:282      评论:0      收藏:0      [点我收藏+]

原题:

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

 

(本题暂时不支持中文字符及汉字)

我的代码:

#!/usr/bin/python
# encoding=utf-8
# -*- coding: UTF-8 -*-

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

a = input("please input string:\n")
space_ = 0
number_ = []
EnglishLetter = []
otherString = []

for i in a:
    if i == " ":    #空格比较特殊,先判断空格
        space_ = space_ +1
    elif ("0" <=  i  <= "9"):
        number_.append(i)
    elif ("a" <=  i  <= "z") or ("A" <=  i  <= "Z"):
        EnglishLetter.append(i)
    else :
        otherString.append(i)

# "1" 和 "a" 也是可以比较的;";" 和 "a" 也是可以比较的;
print(space_,number_,EnglishLetter,otherString)
print(space_,len(number_),len(EnglishLetter),len(otherString))

 

 

 

输出结果:

 

技术分享图片

 

 

可识别“\t”

 

因为我用的是python自带的IDLE,不支持输入的字符串中带有回车,但是如果字符中直接包含\n 或\t的,都会当做两个字符看待;  如果手动输入“  ” \t  ,则能识别出;

 

原题使用的是string 库,如下:

 

技术分享图片

 

 技术分享图片

 

 

其实,我想了下,这题还有另外一种解法,对着ASCII表进行比对,

或直接将所有字符转换为ASCII编码对应的数值

或先建立一个 数字列表、字符串列表、空格列表和其他字符列表;

如果要考虑转义字符,可以判断字符是否为"\",如果是,则查看下一个字符在是什么;这个时候得知道Python的所有转义字符;

 

总之,这题还是应该关注转义字符的,并熟悉String库的使用;

 

 

关于中文汉字的识别,后续再考虑吧;

 


————————(我是分割线)————————

参考:

1. RUNOOB.COM:https://www.runoob.com/python/python-exercise-example17.html

 

 

备注:

初次编辑时间:2019年9月30日16:24:16

环境:Windows 7   / Python 3.7.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原题给出的解答方式:

 

【Python】【demo实验5】【练习实例】【统计输入字符串中,数字的个数、英文字母的个数及其他符号的个数】

原文:https://www.cnblogs.com/kaixin2018/p/11613249.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!