停留在python编解码器上,列表+函数
我是编程新手,我选择python作为第一语言。我在codecademy上被这个提示卡住了。提示是编写一个函数,计算字符串嘶嘶声在列表中出现的次数 例如:fizz_count[fizz,cat,fizz]应该返回2 到目前为止,我编写的代码是:停留在python编解码器上,列表+函数,python,list,function,Python,List,Function,我是编程新手,我选择python作为第一语言。我在codecademy上被这个提示卡住了。提示是编写一个函数,计算字符串嘶嘶声在列表中出现的次数 例如:fizz_count[fizz,cat,fizz]应该返回2 到目前为止,我编写的代码是: def fizz_count(x): count = 0 for word in x: if word == 'fizz': return count + 1 return count
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
return count + 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])
但是,当运行代码时,我会收到一条错误消息,提示“Oops”,请重试。fizz_count['fizz',fizz',1',fizz',fizz']返回1而不是正确的答案:4只是一个提示,列表有一个名为count的属性,它正好用于此目的
def fizz_count(x):
return x.count('fizz')
print(fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1']))
但是如果你想坚持你所拥有的,我完全支持。您只需要在原地更改count并在循环后返回count
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
count += 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])
代码有一些错误,但不要担心,作为初学者,犯错误是可以的 正确的代码是:
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
count += 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])
如果要递增变量,必须将其赋值为:count=count+1。通过调用return count+1,函数结束并返回递增1的变量count的值。因此,第一次到达此代码时,函数结束并返回0+1 这将有助于:
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
count = count + 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])
您需要更新匹配它的单词数,而不是返回。此外,语义可以用单词代替x来改进
您不应该返回,您应该更新匹配它的单词数。作为一个初学者犯错误是可以的。 以下是正确的代码:
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
count += 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])
你知道退货是什么吗?它结束当前函数并返回值,而只是执行count+=1,这样您就不会只在一个循环上结束for循环,而将第二个返回移回一个选项卡。您将为列表中的每个单词返回count。您的代码在列表中获取一个项目,检查它是否冒泡,如果冒泡,则添加1,然后在继续下一个单词之前返回计数。这有帮助,ty
def fizz_count(x):
count = 0
for word in x:
if word == 'fizz':
count += 1
return count
fizz_count(['fizz','2', 'fizz', 'fizz', 'fizz', '1'])