首页 > 解决方案 > 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 新手,仍然无法弄清楚错误,请帮忙。

谢谢

标签: python

解决方案


在您的代码中,请注意以下行:

return n*m/c*c

0如果n和中的任何一个为 0,这将返回。m根据这一行:

c= squares(min(m,n), max(m,n)%min(m,n))

c可能是0,导致ZeroDivisionError返回线。


推荐阅读