python - ZeroDivisionError - 无法找出问题所在
问题描述
我编写了以下代码并给出“ZeroDivisionError:浮点除以零”错误
def squares(n, m):
assert n>= 0 and m>= 0 and n+m > 0
if n==0:
c=m
elif m==0:
c=n
else:
c= squares(min(m,n), max(m,n)%min(m,n))
return n*m/c*c
print(squares(10,6))
我是 python 新手,仍然无法弄清楚错误,请帮忙。
谢谢
解决方案
在您的代码中,请注意以下行:
return n*m/c*c
0
如果n
和中的任何一个为 0,这将返回。m
根据这一行:
c= squares(min(m,n), max(m,n)%min(m,n))
c
可能是0
,导致ZeroDivisionError
返回线。
推荐阅读
- java-8 - 使用 Serenity BDD 运行时,在放心中看不到响应日志
- python - python/pytest Selenium 自动化中的全局变量
- reactjs - 尝试在 Next.js 中呈现整页视频背景但得到空白页
- css - 如何摆脱包装锚标签中的垂直悬停间隙?
- c# - EFCore 更新:无法跟踪实体类型“”的实例,因为已在跟踪另一个具有键值“{ID:0}”的实例
- javascript - 在 package.json 中相同依赖项的 2 个版本之间切换的好方法?
- c++ - C++:自定义 vtable 实现不起作用
- ios - 尝试为 Xcode 项目初始化 CocoaPod 会导致可执行文件中的 CPU 类型错误
- node.js - 为什么数组索引在 mongoDB 集合中的对象内部不起作用?
- java - Webhook 中的哈希验证