Python 写函数,计算圆,正方形,长方形的面积

实例题目

  • 写函数,专门计算图形的面积 其中嵌套函数,计算圆的面积,正方形的面积和长方形的面积 调用函数area(‘圆形’, 圆半径)
    返回圆的面积 调用函数area(‘正方形’, 边长) 返回正方形的面积 调用函数area(‘长方形’, 长,宽) 返回长方形的面积
"""
	def area():
         def 计算长方形面积():
            pass
         def 计算正方形面积():
            pass
         def 计算圆形面积():
            pass
"""

表情包

代码

    def area():
        def rectangle(x,y):
            print(x * y)
        def square(s):
            print(s*s)
        def circle(r):
            print(3.14*(r*2))

        while True:
            print("将进行图形面积计算,支持的图像有:正方形,长方形,圆")
            name = input("请输入要计算的图形:")
            if name == "长方形":
                x=float(input("请输入宽:"))
                # 注意一定要转化为 float浮点数类型,默认字符串类型不能运行
                y=float(input("请输入长:"))
                # int整数 类型只能输入整数,否则报错
                rectangle(x,y)
            elif name == "正方形":
                s=float("请输入边长:")
                square(s)
            elif name == "圆":
                r=float(input("请输入半径:"))
                circle(r)
            else:
                print("输入错误请重新输入 要计算的图形")


    area()

高级一点的,用到正则(扩展参考)

import re


def color_print(c_d, color=32):
    return f"\033[1;{color}m{c_d}\033[0m"


def float_judg(num):
    if re.match(r"\d+$|(\d+.\d+$)", num):
        return float(num)
    else:
        print("输入参数错误")


def area():
    def rectangle(x, y):
        return x * y

    def square(s):
        return s * s

    def circle(r):
        return 3.14 * (r * 2)

    while True:
        print("将进行图形面积计算,支持的图像有:")
        for i, k in enumerate(["正方形", "长方形", "圆"], 1):
            print(f"| {i}: {color_print(k)} |")
        name = input("请输入要计算的图形:").strip()
        if not name:
            print("请不要输入空内容")

        if re.match("正方形$|1$", name):
            s = float_judg(input("请输入边长:"))
            if s:
                print(f"正方形的面积为: {color_print(square(s))}")

        elif re.match("长方形$|2$", name):
            # 注意一定要转化为 float浮点数类型
            x, y = float_judg(input("请输入宽:")), float(input("请输入长:"))
            if x and y:
                print(f"长方形面积为: {color_print(rectangle(x, y))}")

        elif re.match("圆$|3$", name):
            r = float_judg(input("请输入半径:"))
            print(f"园的面积为: {color_print(circle(r))}")

        else:
            print("输入错误请重新输入 要计算的图形")


area()
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐