Python 小练习 扫描并计数

这个联系要求,定义一个函数,包含2个变量,第一个是list,第二个可以是int,float,str,list

要求扫描第一个变量内包含第二个变量的数量,并输出数字。


这个联系我做的时候很快就敲出代码了,并且通过了codecademy的检测,但是我觉得有点问题,如果第二个变量是list的话,这样的代码就过不去了,也许是codecademy检测有问题。

所以我自己去测试了将第二个变量设置为list,果然,code报错了,随后又开始研究,如果第二个输入变量是list的时候,怎么样做。

最后,将情况分为了,第二个变量是list的情况和非list的情况,代码如下。

这道题还挺加深基础知识的,不错。


def count(sequence,item):
    number=0                       #出现次数初始化,为0
    if type(item) == list:         #判断item的类型,是list的情况下
        for i in item:             #历遍在item里的元素,以此为基础
            for s in sequence:     #对应历遍sequence里的元素,以此为对比
                if str(s)==str(i): #将元素统一成str类型,进行对比
                    number+=1      #计数器加1
        return number
    else:                          #如果item类型是非list
        for i in sequence:         #历遍sequence
            if str(i)==str(item):  #统一成str元素并和item进行对比
                number+=1          #计数器加1
        return number


蓝色部分是我第一次写出的代码,就是没有考虑item变量是list的情况。虽然也通过了codecademy的检测,不过对于题目来说,不严谨。


Python 小练习 扫描并计数_第1张图片




你可能感兴趣的:(Python,exercise)