Code Academy课程

时间:2014-06-14 02:39:53

标签: python

所以我在4/13超市的一天为那些熟悉的人。我想知道我是否应该创建自己的列表,或者是否要求我逐字地创建一个名为“x”的列表,但这里是方向,我不希望答案只是正确的方向上的一个点..谢谢大家!

编写一个函数,计算字符串“fizz”出现在列表中的次数。

编写一个名为fizz_count的函数,它将列表x作为输入。 创建变量计数以保持正在进行的计数。将其初始化为零。 对于x:中的每个项目,如果该项目等于字符串“fizz”,则递增计数变量。 循环之后,请返回计数变量。 例如,fizz_count(["fizz","cat","fizz"])应返回2

到目前为止,这是我的代码:

def fizz_count():
    count = 0
    for in x:
        if  = 'fizz':
            count = count + 
        return  

网站正在改变我的格式,我的代码不是全部一行

2 个答案:

答案 0 :(得分:1)

您的基本理解是正确的,您只是遇到了一些问题:

  1. =语句只有一个if。使用double(==
  2. 您正在调用count = count +,这会引发错误。请改用count+=1
  3. 您没有退回任何内容,return缩进了。相反,将返回值放在与for循环相同的缩进级别和return count
  4. 您没有向for循环做任何事情。而是将其从for in x更改为for word in x
  5. 您没有检查是否有任何内容等于fizz。而不是if == 'fizz',请使用if word == 'fizz'
  6. 您也没有传递任何内容。请致电def fizz_count(x)
  7. 以下是您编辑的代码:

    def fizz_count(x):
        count = 0
        for word in x:
            if word == 'fizz':
                count+=1
        return count
    

    运行如下:

    >>> fizz_count(['fizz', 'foo', 'fizz', 'bar'])
    2
    >>> fizz_count(['glob', 'foo', 'roo', 'bar'])
    0
    >>> fizz_count(['glob', 'foo', 'fizz', 'fizz', 'fizz'])
    3
    >>> 
    

答案 1 :(得分:0)

def fizz_count(my_list):

    count = 0

    for word in my_list:
        if word == 'fizz':
            count = count + 1

    return count

或更简单

def fizz_count(my_list):

    return my_list.count('fizz')

但与FIZZ'或者' FiZz' ?

if word.lower() == 'fizz':