|
发表于 2020-5-19 22:03:27
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数
- n=input('请输入一个字符串:')
- def counts(m):
- for each in m:
- temp=0
- if each.isalpha():
-
- temp+=1
- temp1=temp
- if each.isspace():
- temp+=1
- temp2=temp
- if each.numeric():
- temp+=1
- temp3=temp
- temp4=len(m)-temp1-temp2-temp3
- print('在',m,'中共有',temp1,'个字母')
- print('在',m,'中共有',temp2,'个空格')
- print('在',m,'中共有',temp3,'个数字')
- print('在',m,'中共有',temp4,'个其他符号')
- counts(n)
复制代码 有啥问题?
本帖最后由 Twilight6 于 2020-5-19 22:15 编辑
- n = input('请输入一个字符串:')
- def counts(m):
- temp1,temp2,temp3,temp4 = 0,0,0,0 # 初始化数值 否则temo4 处会报错
- for each in m:
- # 这边去掉temp = 0 你应该在循环外面设置初始值否则每次都会重新赋值为0
- if each.isalpha():
- temp1 += 1
- if each.isspace():
- temp2 += 1
- if each.isnumeric(): # 这边是isnumeric 你打成了numeric
- temp3 += 1
- # 这个也放循环外面,等全部字母,空格,数字都统计完毕再计算其他字符
- # 如果放循环里,每次循环都要减一次,而得到的最后结果其实就只有最后一次循环的计算结果所有放for循环外
- temp4 = len(m) - temp1 - temp2 - temp3
-
- # 这边的所有 print 打印都要放 for循环 外,否则 没统计完 ,循环过程都会一直打印
- print('在', m, '中共有', temp1, '个字母')
- print('在', m, '中共有', temp2, '个空格')
- print('在', m, '中共有', temp3, '个数字')
- print('在', m, '中共有', temp4, '个其他符号')
- counts(n)
复制代码
|
|