如何避免复杂轮法的错误。?
How to avoid the error for complex round method.?
对于此代码:
def area(d, l):
x=((d**2)-(l**2))**0.5
#b=sqrt(x)
rec_area=float(round(l*x, 2))
if d<=l and d<=x:
print("'/Not a rectangle'/")
elif l==0.0 and d==0.0:
print(""'/Not a rectangle'/"")
else:
return rec_area
pass
print(area(12, 5))
我遇到错误:
type complex doesn't define __round__ method
如何解决 it.How 我可以解决这个问题吗 problem.I 我正在尝试获取面积并且最多会有两位小数 places.I 还想在提供时求出矩形的面积有一个对角线和矩形的一侧。如果输入对角线小于等于边长,则return"Not a rectangle"。如果结果面积有小数,则四舍五入到两位。
请告诉我如何从输出中删除 none。
如果对角线比边小,您会得到 'none',然后您的函数将 "Not a rectangle" 和 returns 'none' 打印到主函数。有两种方法可以解决这个问题:您可以始终在函数中打印结果而不在调用代码中使用打印,或者您可以 return 来自函数的字符串并在主代码中打印它。
解决方案 1:
def area(d, l):
if d<=l or l == 0.0:
print("'/Not a rectangle'/")
else:
x=((d**2)-(l**2))**0.5
rec_area=float(round(l*x, 2))
print(rec_area)
area(12, 5)
解决方案 2:
def area(d, l):
if d<=l or l == 0.0:
return "'/Not a rectangle'/"
else:
x=((d**2)-(l**2))**0.5
rec_area=float(round(l*x, 2))
return rec_area
print(area(12, 5))
对于此代码:
def area(d, l):
x=((d**2)-(l**2))**0.5
#b=sqrt(x)
rec_area=float(round(l*x, 2))
if d<=l and d<=x:
print("'/Not a rectangle'/")
elif l==0.0 and d==0.0:
print(""'/Not a rectangle'/"")
else:
return rec_area
pass
print(area(12, 5))
我遇到错误:
type complex doesn't define __round__ method
如何解决 it.How 我可以解决这个问题吗 problem.I 我正在尝试获取面积并且最多会有两位小数 places.I 还想在提供时求出矩形的面积有一个对角线和矩形的一侧。如果输入对角线小于等于边长,则return"Not a rectangle"。如果结果面积有小数,则四舍五入到两位。
请告诉我如何从输出中删除 none。
如果对角线比边小,您会得到 'none',然后您的函数将 "Not a rectangle" 和 returns 'none' 打印到主函数。有两种方法可以解决这个问题:您可以始终在函数中打印结果而不在调用代码中使用打印,或者您可以 return 来自函数的字符串并在主代码中打印它。 解决方案 1:
def area(d, l):
if d<=l or l == 0.0:
print("'/Not a rectangle'/")
else:
x=((d**2)-(l**2))**0.5
rec_area=float(round(l*x, 2))
print(rec_area)
area(12, 5)
解决方案 2:
def area(d, l):
if d<=l or l == 0.0:
return "'/Not a rectangle'/"
else:
x=((d**2)-(l**2))**0.5
rec_area=float(round(l*x, 2))
return rec_area
print(area(12, 5))