zoukankan      html  css  js  c++  java
  • python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)

    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),'
    数字',len(num),'
    空格',len(blank),'
    中文',len(chi),'
    其他',other)
  • 相关阅读:
    愤怒的小鸟(angry bird )
    1101模拟
    1029模拟题解
    1028题解
    图床
    数据结构
    博弈论
    差分
    前缀和
    快读和快写
  • 原文地址:https://www.cnblogs.com/qgc1995/p/14860731.html
Copyright © 2011-2022 走看看