鱼C论坛

 找回密码
 立即注册
查看: 1055|回复: 4

[技术交流] 第20讲 统计字符串出现的次数

[复制链接]
发表于 2018-1-12 09:15:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def string_search(str1):
    list0 = list(str1)
    list1 = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '{', '}', '[' ,']', '\n']
    count = 0
    list2 = []
    for a in list1:
        if a in list0:  
            count = str1.count(a)
            list2.append(a)
            list2.append(count)
    b = 0
    c = len(list2) - 2
    while b < c:
        print(list2[b], ' 出现次数为:', list2[b + 1])
        b += 2
    print('\\n','出现次数为:', list2[-1])

str1 = 拷贝过来的字符串
sring_search(str1)


运行结果如下:
!  出现次数为: 6079
@  出现次数为: 6157
#  出现次数为: 6115
$  出现次数为: 6046
%  出现次数为: 6104
^  出现次数为: 6030
&  出现次数为: 6043
*  出现次数为: 6034
(  出现次数为: 6154
)  出现次数为: 6186
_  出现次数为: 6112
+  出现次数为: 6066
{  出现次数为: 6046
}  出现次数为: 6105
[  出现次数为: 6108
]  出现次数为: 6152
\n 出现次数为: 1219


字符统计出来了, 英文字母还在琢磨


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-12 10:05:43 From FishC Mobile | 显示全部楼层
1 直接一个字符串包括所有字母,用in判断
2 直接比较 'a' <= each <= 'z'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-12 10:49:45 | 显示全部楼层
BngThea 发表于 2018-1-12 10:05
1 直接一个字符串包括所有字母,用in判断
2 直接比较 'a'

def string_search(str1):
    list0 = list(str1)
    list1 = ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '{', '}', '[' ,']', '\n']
    count = 0
    list2 = []
    str2 = 'qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM'
   
    for x in str2:
        if x in list0:
            count_1 = str1.count(x)
            list2.append(x)
            list2.append(count_1)
            
    for a in list1:
        if a in list0:  
            count = str1.count(a)
            list2.append(a)
            list2.append(count)



    b = 0
    c = len(list2) - 2
    while b < c:
        print(list2, ' 出现次数为:', list2[b + 1])
        b += 2
    print('\\n','出现次数为:', list2[-1])

str1 = 拷贝过来的字符串
sring_search(str1)

打印结果:
U  出现次数为: 1
O  出现次数为: 2
L  出现次数为: 1
K  出现次数为: 1
G  出现次数为: 1
D  出现次数为: 1
C  出现次数为: 1
!  出现次数为: 6079
@  出现次数为: 6157
#  出现次数为: 6115
$  出现次数为: 6046
%  出现次数为: 6104
^  出现次数为: 6030
&  出现次数为: 6043
*  出现次数为: 6034
(  出现次数为: 6154
)  出现次数为: 6186
_  出现次数为: 6112
+  出现次数为: 6066
{  出现次数为: 6046
}  出现次数为: 6105
[  出现次数为: 6108
]  出现次数为: 6152
\n 出现次数为: 1219

谢谢 已经可以成功打印英文字母了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-12 12:11:17 | 显示全部楼层
其实等你学了字典就可以很简单的实现统计字母个数了。
我写一个:
  1. str1=input('请您输入:')
  2. str1_count={}
  3. for i in str1:
  4.     if i in str1_count:
  5.         str1_count[i]+=1
  6.     else:
  7.         str1_count[i]=1
  8. for i in str1_count.keys():
  9.     print('{}:{}个'.format(i,str1_count[i]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-12 12:13:29 | 显示全部楼层
像番茄加两个蛋 发表于 2018-1-12 12:11
其实等你学了字典就可以很简单的实现统计字母个数了。
我写一个:

OK 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 11:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表