超初级的用Python收集杂乱字符串中的特定字符,统计出每个特定字符的出现次数并取出最小值

其实我昨天刚开始学python,然后今天就被刚学没几天的朋友问了一个问题,这是他在看一套教程时碰到的练习
练习
嗯,就是这个
我开始不知道怎么取字典里最大或者最小值,然后查了一下资料 (文末会贴出链接)
写了这个东西(我感觉有点复杂了=-= 求不要说我误人子弟…毕竟我昨天才刚开始学…)

#python3
#随意输入的字符串
s2 = 'qwiasifknabbvaucxzxcnzdhgeithdhgueaar'
#我们创建一个字典,用来收集friend里每一个字符在s2中出现的次数
sta = {}
#用列表来表示friend,方便接下来的字典操作
w = ['f','r','i','e','n','d']
#定义一个变量,收集存在于S2中的friend字符,并使其按单词顺序连接
a = s2[s2.find('f')] + s2[s2.find('r')] + s2[s2.find('i')] + s2[s2.find('e')] + s2[s2.find('n')] + s2[s2.find('d')]
#如果a收集到了“friend”
if a == 'friend':
    #输出a(friend)
    print(a)
    #用一个变量i遍历s2中的每个字符
    for i in s2:
        #如果存在于s2中的字符i也存在于w中
        if i in w:
            #如果既存在于s2也存在于w中的字符i存在于sta中
            if i in sta:
                #sta中对应i的key的values加1
                sta[i] = sta[i] + 1
                #如果既存在于s2也存在于w中的字符i不在sta中
            else:
                #在sta中添加一个字符i,并将values定义为1
                sta[i] = 1
    #输出我们操作后的字典
    print(sta)
    #输出字典中的最小值(用min()函数结合zip()函数来判断最小值)
    print("最多可以拼写出%d个friend"%min(zip(sta.values())))
    ###############################
    #还有这些写法
    #print(min(zip(sta.values(),sta.keys()))) 
    #print(min(sta,key = sta.get))
    #min(sta.items(), key=lambda x: x[1])
    #print(min(sta, key=lambda x: sta[x]))
    ###############################
#如果a没有收集齐“friend”
else:
    #输出 no find
    print("no find")

输出结果:
输出结果

这里用min()函数结合zip()函数的方法的资料链接:
http://www.bubuko.com/infodetail-1987895.html

这里是朋友看的教程的链接:
http://study.163.com/course/courseMain.htm?courseId=302001

我看的不是这个,就不发了

觉得还行就点个赞吧(觉得不行也点个赞吧

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值