首页 > 解决方案 > 初学者问题:Mod 算术语法错误

问题描述

我正在尝试制作一个 fizzbuzz 程序:数到 n;对于每个 i 到 n,如果是 3 的倍数,则打印“fizz”,如果是 5 的倍数,则打印“buzz”——如果是两者的倍数,则打印“fizzbuzz”。

我正在使用模运算,但由于某种原因我的语法是错误的。

这是我的代码(还没有“fizzbuzz”位):

def fizzbuzz(n):
   for i in range(n):
      if i % 3 = 0
         return fizz
      if i % 5 = 0
         return buzz
      else
         return i
      
print(fizzbuzz(100))

错误代码:

Python3IDE(Python 3.7) running!
  File "/var/mobile/Containers/Data/Application/FD2AF249-3788-42B7-90B2-929E9D35A2E1/Documents/FizzBuzz.py", line 5
    if i % 3 = 0
             ^
SyntaxError: invalid syntax
Pytho3IDE run end!

任何帮助深表感谢。

标签: pythonfizzbuzz

解决方案


问题出在if i % 3 = 0和 中if i % 5 = 0。在这种情况下,比较运算符将是==,因此您必须使用比较运算符重写这两个语句。目前,您正在使用Python 不理解的赋值运算符。


推荐阅读