python123计算矩形面积和周长_用于计算矩形和三角形名称的面积和周长的类

正如jonsharpe所指出的,在定义Rectangle类中的test_Rectangle函数时,你做了错误的缩进

以下程序将起作用。在

编辑

之前我以为你已经从你的代码中给出了一个小的代码集,它复制了这个问题,因此并不关心如何改变解决方案,但现在已经更新了答案。在

更新

因为,测试函数在类内部,并且由于没有类的实例化,也没有通过这些实例调用测试函数,所以函数没有被调用。在

在下面的代码中,我将您自己的函数移到类定义之外并显式地调用它们。在from math import sqrt

class Rectangle(object):

def __init__(self, x0, y0, w, h):

self.x0 = x0

self.y0 = y0

self.w = w

self.h = h

def area(self):

return self.h*self.w

def perimeter(self):

return 2*self.w + 2*self.h

class Triangle(object):

def __init__(self, v1, v2, v3):

self.v1 = v1

self.v2 = v2

self.v3 = v3

def area(self):

x1, y1 = self.v1

x2, y2 = self.v2

x3, y3 = self.v3

return 1/2*abs(x2*y

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A:好的,我可以帮您编写一个Python命令行程序来求解多种平面图形的面积周长。以下是程序的示例代码: ```python import math # 矩形面积计算函数 def rectangle_area(width, height): return width * height # 矩形周长计算函数 def rectangle_perimeter(width, height): return 2 * (width + height) # 梯形面积计算函数 def trapezoid_area(top, bottom, height): return (top + bottom) * height / 2 # 梯形周长计算函数 # 注意:梯形没有固定的周长,此处以底边和斜边之和作为周长 def trapezoid_perimeter(top, bottom, height): slope = math.sqrt(height ** 2 + (bottom - top) ** 2) return top + bottom + 2 * slope # 圆形面积计算函数 def circle_area(radius): return math.pi * radius ** 2 # 圆形周长计算函数 def circle_perimeter(radius): return 2 * math.pi * radius # 三角形面积计算函数 def triangle_area(base, height): return base * height / 2 # 三角形周长计算函数 # 注意:三角形没有固定的周长,此处计算三条边之和作为周长 def triangle_perimeter(side1, side2, side3): return side1 + side2 + side3 # 主程序循环 while True: # 输出提示信息,让用户选择需要计算的图形种 print("请选择需要计算的图形种:") print("1. 矩形 2. 梯形 3. 圆形 4. 三角形") # 读取用户输入,根据用户选择调用相应的计算函数 choice = input("请选择图形种(输入数字1-4选择,输入q退出程序):") if choice == 'q': # 用户输入q时退出程序 break elif choice == '1': # 计算矩形面积周长 width = float(input("请输入矩形的宽度:")) height = float(input("请输入矩形的高度:")) print("矩形面积为:", rectangle_area(width, height)) print("矩形周长为:", rectangle_perimeter(width, height)) elif choice == '2': # 计算梯形面积周长 top = float(input("请输入梯形的上底长度:")) bottom = float(input("请输入梯形的下底长度:")) height = float(input("请输入梯形的高度:")) print("梯形面积为:", trapezoid_area(top, bottom, height)) print("梯形周长为:", trapezoid_perimeter(top, bottom, height)) elif choice == '3': # 计算圆形面积周长 radius = float(input("请输入圆的半径:")) print("圆的面积为:", circle_area(radius)) print("圆的周长为:", circle_perimeter(radius)) elif choice == '4': # 计算三角形面积周长 base = float(input("请输入三角形的底边长度:")) height = float(input("请输入三角形的高度:")) side1 = float(input("请输入三角形的第一条边长:")) side2 = float(input("请输入三角形的第二条边长:")) print("三角形面积为:", triangle_area(base, height)) print("三角形周长为:", triangle_perimeter(side1, side2, base)) else: print("输入有误,请重新输入!") ``` 您可以将以上代码保存为一个Python文件(例如area_calculator.py),并在命令行中运行该文件,便可以使用该程序进行多种平面图形的面积周长计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值