python实现四种基本图形的面积计算 :圆形,长方形,正方形,梯形。

您所在的位置:网站首页 python求长方体体积 python实现四种基本图形的面积计算 :圆形,长方形,正方形,梯形。

python实现四种基本图形的面积计算 :圆形,长方形,正方形,梯形。

2023-11-23 16:38| 来源: 网络整理| 查看: 265

这个小练习实现了四种基本图形的面积计算 :圆形,长方形,正方形,梯形。虽然看起来挺简单的,但是要规避的坑还是挺多的(比如用户输入中文的错误显示,还有半径,长宽高必须大于0,用户输入小数也是正确的),感觉代码写的的有点冗余,但是还没有想出比这更加简单的办法,欢迎评论指出!!!

# coding=utf-8 import re #计算圆的面积函数 def roundarea(d): y=d*d*3.1415926; print(y) #计算长方形的面积函数 def rectanglearea(e,f): y=e*f; print(y) #计算正方形的面积 def squarearea(g): y=g*g; print(y) #计算梯形的面积 def ladderarea(m,n,o): y=(m+n)*o/2; print(y) # 判断用户输入字符串是否是float 如果包含两个(或以上)小数点,return False # 否则(只剩一个或者没有小数点),去掉字符串中的小数点,然后判断是否全是由数字组成,是,return True,否,return False def is_number(num): pattern = re.compile(r'(.*)\.(.*)\.(.*)') if pattern.match(num): return False return num.replace(".", "").isdigit() print("智能计算图形面积小程序") c=0; tag=0; while tag==0: c = input("请输入你所要计算的图形的类型(如果是圆形请输入round , 如果是长方形请输入rectangle,如果是正方形请输入 square,如果是梯形请输入ladder ):"); c = c.strip(); if c=='round' or c=='rectangle' or c=='square'or c=='ladder': tag = 1; if c=='round': banjing = 0 while banjing == 0: d = input("请输入圆的半径长度:"); if True != is_number(d): print("输入错误,请重新输入") else: banjing = 1; print("输入正确,正在计算圆的面积") print(roundarea(float(d))); elif c=='rectangle': banjing=0; while banjing == 0: e= input("请输入长方形的长:") f=input("请输入长方形的宽:") if True != is_number(e) or True != is_number(f): print("输入错误,请重新输入") else: banjing = 1; print("输入正确,正在计算长方形的面积") print(rectanglearea(float(e),float(f))); elif c == 'square': banjing = 0; while banjing == 0: g = input("请输入正方形的边长:") if True != is_number(g) : print("输入错误,请重新输入") else: banjing = 1; print("输入正确,正在计算正方形的面积") print(squarearea(float(g))); elif c == 'ladder': banjing = 0; while banjing == 0: m = input("请输入梯形的上底长:") n = input("请输入梯形的下底长:") o = input("请输入梯形的高:") if True != is_number(m) or True != is_number(n) or True != is_number(o): print("输入错误,请重新输入") else: banjing = 1; print("输入正确,正在计算梯形的面积") print(ladderarea(float(m),float(n),float(o))); else: print("输入有误,请检查输入数据并重新输入:")

断断续续做了好几天,终于做完了,附上效果截图。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3