day10

---------------------------------------------------------------

实例017:字符串构成

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

分析:看看string模块的使用

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

 问题不大,直接上答案吧

 1 string=input("输入字符串:")
2 alp=0
3 num=0
4 spa=0
5 oth=0
6 for i in range(len(string)):
7 if string[i].isspace():
8 spa+=1
9 elif string[i].isdigit():
10 num+=1
11 elif string[i].isalpha():
12 alp+=1
13 else:
14 oth+=1
15 print('space: ',spa)
16 print('digit: ',num)
17 print('alpha: ',alp)
18 print('other: ',oth)

试了下不用range()函数也可以,目前没发现有什么问题

 1 string = input("请输入字符串:")
2 alp=0
3 num=0
4 spa=0
5 oth=0
6 for i in string:
7 if i.isspace():
8 spa+=1
9 elif i.isdigit():
10 num+=1
11 elif i.isalpha():
12 alp+=1
13 else:
14 oth+=1
15 print('space: ',spa)
16 print('digit: ',num)
17 print('alpha: ',alp)
18 print('other: ',oth)

来一个加强版的,采用正则的re.findall()

1 import re
2
3 s = input('请输入一串字符:')
4 char=re.findall(r'[a-zA-Z]',s)#以列表类型返回全部能匹配的子串
5 num=re.findall(r'[0-9]',s)
6 blank=re.findall(r' ',s)
7 chi=re.findall(r'[\u4E00-\u9FFF]',s)#汉字的Unicode编码范围
8 other = len(s)-len(char)-len(num)-len(blank)-len(chi)
9 print('字母',len(char),'\n数字',len(num),'\n空格',len(blank),'\n中文',len(chi),'\n其他',other)

python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)的更多相关文章

  1. python基础练习题(输入三个整数x,y,z,请把这三个数由小到大输出)

    day3 --------------------------------------------------------------- 实例005:三数排序 题目: 输入三个整数x,y,z,请把这三 ...

  2. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  3. python基础练习题5

    01:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数 import string s = input('input a string:\n') letters =0 space = ...

  4. c - 统计字符串"字母,空格,数字,其他字符"的个数和行数.

    #include <stdio.h> #include <ctype.h> using namespace std; /* 题目:输入一行字符,分别统计出其中英文字母.空格.数 ...

  5. C语言习题1.分别统计一下其中字母,数字,其他字符的个数。将统计的字母,数字,其他字符的个数以柱状图的形式打印

    从键盘上输入字符,(1)分别统计一下其中字母,数字,其他字符的个数, (2)将统计的字母,数字,其他字符的个数以柱状图的形式打印.例如 5 ***** *****     3 *****   **** ...

  6. 程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。

    用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #inclu ...

  7. 如果输入的不是英文字母或者数字或者汉字,则返回false

    public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_C ...

  8. 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

    ASCII 码表的对应值,知道 ord('a') 能将字符 'a' 转化为 ASCII 码表上对应的数值,就可以了.其中,数字 0-9 对应的码值为 48-57,大写字母 A-Z 对应 65-90,小 ...

  9. python基础练习题(题目 三数排序。)

    day40 --------------------------------------------------------------- 实例066:三数排序 题目 输入3个数a,b,c,按大小顺序 ...

随机推荐

  1. 恢复训练(学不动了摸会鱼) Pt. 1

    本来下午想把pre稿子写了,咕咕咕. 群论是啥也不会了,写个polya试试(手动doge)为什么博客媛没有emoji,以后万一自己搭博客一定要加上这个小东西 polya淼题:poj1286 先复吸一下 ...

  2. Prometheusbu部署使用-1

    Prometheus+grafana部署使用 主机列表: 192.168.161.130 : Prometheus 192.168.161.128 : node-1 192.168.161.129 : ...

  3. IDEA使用Docker插件构建镜像

    IDEA使用Docker插件构建镜像 记一次坑  第一次插件docker-maven-plugin的 配置文件中没写远程主机的地址 <dockerHost>http://192.168.1 ...

  4. kafka unclean 配置代表啥,会对 spark streaming 消费有什么影响?

    unclean.leader.election.enable 为true的话,意味着非ISR集合的broker 也可以参与选举,这样有可能就会丢数据,spark streaming在消费过程中拿到的 ...

  5. Java Output流写入包装问题

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); OutputStreamWriter output ...

  6. dos 循环读取当前文件夹下的视频名字

    @echo off for /R %%i in (*.mp4) do ( echo -isma %%~nxi ) pause

  7. Linux用户身份与文件权限学习笔记

    用户身份 管理员UID为0:系统的管理员用户 系统用户UID为1~999:服务程序会有独立的系统用户负责运行:防止被黑客入侵进行提权,并有效控制被破坏的范围 普通用户UID从1000开始:是由管理员创 ...

  8. 全页缓存FPC?

    除基本的会话 token 之外,Redis 还提供很简便的 FPC 平台.回到一致性问题, 即使重启了 Redis 实例,因为有磁盘的持久化,用户也不会看到页面加载速度的 下降,这是一个极大改进,类似 ...

  9. 什么是切点JoinPoint?

    程序运行中的一些时间点, 例如一个方法的执行, 或者是一个异常的处理. 在 Spring AOP 中, join point 总是方法的执行点.

  10. 常见算法的时间复杂度(大O计数法)

    定义 ​ 对于不同的机器环境而言,确切的单位时间是不同的,但是对于算法进行多少个基本操作(即花费多少时间单位)在规模数量级上却是相同的,由此可以忽略机器环境的影响而客观的反应算法的时间效率. 对于算法 ...