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()