统计传入字符串的个数

  • A+
所属分类:Python习题

结果要求

输入一段内容,可任意为字母,数字,符号和其他类型,判断出各自出现的次数,展示效果为:

统计传入字符串的个数

解决方案

  • 通过for循环,来输出相关内容,判断是否存在在类型当中,依次计算数量。
  1. def count(*str1):
  2.     word = 'qwertyuiopasdfghjklzxcvbnm'
  3.     num = '1234567890'
  4.     blank =' '
  5.     words=0
  6.     nums=0
  7.     blanks=0
  8.     for j in str1:
  9.         for i in j:
  10.             if i in word:
  11.                 words+=1
  12.             if i in num:
  13.                 nums +=1
  14.             if i in blank:
  15.                 blanks+=1
  16.         symbol = len(j) - words -nums -blanks
  17.         print(j,'包含"{0}"字母,"{1}"数字,"{2}"个空格,"{3}"个其他符号'.format(words,nums,blanks,symbol))
  18.         words = 0
  19.         nums = 0
  20.         blanks = 0
  21. count('https:www.lijinlong.cc','http://bbs.fishc.com/','_____1111hello,x   ')

代码出现的问题:

1、words、nums、blanks需要重置为0,不然会出现叠加

2、当使用(*str1)所出来的值为元祖,需要通过for循环将其遍历分拆出来,再用for循环遍历将每一个值进行对比。

 

  1. def count(*param):
  2.     length = len(param)
  3.     for i in range(length):
  4.         letters = 0
  5.         space = 0
  6.         digit = 0
  7.         others = 0
  8.         for each in param[i]:
  9.             if each.isalpha():
  10.                 letters += 1
  11.             elif each.isdigit():
  12.                 digit += 1
  13.             elif each == ' ':
  14.                 space += 1
  15.             else:
  16.                 others += 1
  17.         print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i + 1, letters, digit, space, others))
  18. count('https:www.lijinlong.cc', 'http://bbs.fishc.com/','_____1111hello,x   ')
  • isalpha() 至少有一个字符串,且所有字符都是字母
  • isdigit()字符串是否只包含数字

 

李金龙

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: