You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编写FizzBuzz代码出现SyntaxError: cannot assign to function call报错求解

SyntaxError: cannot assign to function call 报错原因分析

核心报错原因

你遇到的该语法报错的直接诱因是Python 语法不允许向函数调用的返回值赋值,你代码中所有int(number) = "fizzbuzz"这类写法完全不符合语法规则。
int(number)是调用内置函数int()得到的临时返回值,不属于可被赋值的左值(变量、列表元素、对象属性这类可被赋值的对象才是合法左值),解释器解析到这类赋值语句时会直接抛出语法错误,不会进入代码执行阶段。

代码中的其他问题

除了赋值语法错误外,你的FizzBuzz实现还有多处逻辑/规范问题:

  • range(1,101)生成的number本身就是整数,反复调用int(number)做类型转换是完全多余的操作
  • 你使用了中文双引号“”包裹字符串,Python只识别英文单引号'或英文双引号"作为字符串边界
  • 你的判断逻辑存在重叠问题:如果一个数同时被3和5整除,第一个判断分支赋值后,后续两个单条件判断依然会执行,会覆盖之前的fizzbuzz值
  • print()语句放在了for循环外侧,只会输出最后一次遍历的结果,无法输出1到100的所有结果

修正后的可运行代码

for number in range(1, 101):
    # 声明单独变量存储输出内容
    output = number
    if number % 3 == 0 and number % 5 == 0:
        output = "fizzbuzz"
    elif number % 3 == 0:
        output = "fizz"
    elif number % 5 == 0:
        output = "buzz"
    print(output)

内容的提问来源于stack exchange,提问作者RosalinaTheGalaxyWolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 13:45:01