python - 初学者问题: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!
任何帮助深表感谢。
解决方案
问题出在if i % 3 = 0
和 中if i % 5 = 0
。在这种情况下,比较运算符将是==
,因此您必须使用比较运算符重写这两个语句。目前,您正在使用Python 不理解的赋值运算符。
推荐阅读
- neo4j - 无法解析的日期:带有 APOC.DATE.PARSE 的“NULL”
- enums - Android Room 类型转换多种枚举类型
- mapbox - MapQuest 方向 api 返回的点太少
- r - R 自动更改日期格式
- swift - 如何快速对表格单元格中的同一按钮执行不同的操作?
- api - Google Vision:如何选择所有类型的检测
- wordpress - 如何减慢 WordPress 网站的速度
- grails - Grails 3.3.6 没有为命令 gradle docs 触发 DocStart 和 DocEnd 事件
- android - 如何以编程方式关闭运行时权限对话框?
- c# - 使用 Postsharp 在运行时更改属性类变量