无法分配给文字语法错误

这是我的职责。有人能帮我弄清楚吗?

选择 | 换行 | 行号
  1. count = 0
  2. def fizz_count(x):
  3.     for 'fizz' in fizz_count:
  4.         int(count) +=1
  5.     return count
# 回答1


不能为字符串赋值。在您的

循环时,Python会尝试为目标'fizz'赋值。

选择 | 换行 | 行号
  1. >>> 'fizz' = 0
  2. Traceback (  File "<interactive input>", line 1
  3. SyntaxError: can't assign to literal
  4. >>> 

该操作应与以下操作类似:

选择 | 换行 | 行号
  1. for fizz in expression_list:

请注意,Expression_List只计算一次,应该会产生一个可迭代的对象。在你的案例中,
冒泡_计数
是函数对象,而不是可迭代对象,则表达式将失败。

# 回答2


但fizz不应该用引号引起来,因为我正在寻找一个'x'列表中的单词。在这种情况下,表达式列表是什么?我还是有点困惑。还有,我的x输入现在可以吗?我觉得我应该把它变成一个列表变量,但我不太确定如何做。
# 回答3


类似于下面的内容?

选择 | 换行 | 行号
  1. >>> def fizz_count(x):
  2. ...     count = 0
  3. ...     for word in x:
  4. ...         if word == 'fizz':
  5. ...             count += 1
  6. ...     return count
  7. ... 
  8. >>> x = ['bizz', 'fizz', 'tizz', 'fizz']
  9. >>> fizz_count(x)
  10. 2
  11. >>>

同样的事情也可以使用列表方法来完成
计数

选择 | 换行 | 行号
  1. >>> x = ['bizz', 'fizz', 'tizz', 'fizz']
  2. >>> x.count('fizz')
  3. 2
  4. >>> 

从数据是什么
X
派生的?

# 回答4


谢谢,伙计们,我重做了,还有这个
#在下面写你的函数!

选择 | 换行 | 行号
  1. def fizz_count(x):
  2.     count = 0
  3.     for word in x:
  4.         if word == 'fizz':
  5.             count +=1
  6.     return count
  7.  

劳作

标签: python

添加新评论