这个小练习实现了四种基本图形的面积计算 :圆形,长方形,正方形,梯形。虽然看起来挺简单的,但是要规避的坑还是挺多的(比如用户输入中文的错误显示,还有半径,长宽高必须大于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 Falsereturn 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 = 0while 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("输入有误,请检查输入数据并重新输入:")

断断续续做了好几天,终于做完了,附上效果截图。

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

  1. python中内置的四种数值类型为_浅谈python语言四种数值类型

    Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...

  2. pycharm设置控制台的解释器_PyCharm 中文教程 01:运行 Python 的四种方式

    <PyCharm 中文指南>在线阅读:http://pycharm.iswbm.com/ Github 项目主页:https://github.com/iswbm/pycharm-guid ...

  3. python中四种进制的输出_Python基础语法和进制

    基础语法 开发种常用的快捷键 键位 功能 ctrl + / 添加注释和取消注释 ctrl + s 保存 ctrl + c 复制 ctrl + v 粘贴 ctrl + x 剪切 ctrl + z 撤销 ...

  4. 【Java】使用Java调用Python的四种方法

    写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...

  5. python实现四种出行路线规划(公交、步行、驾车、骑行)

    一.简介 路径规划中包括步行.公交.驾车.骑行等不同方式,今天借助高德地图web服务api,实现出行路线规划. 思路 根据地点获取经纬度 根据经纬度调用api获取路线 对路线数据进行处理,便于浏览 高 ...

  6. 使用Python生成四种字符组合的复杂随机密码

    使用Python的random和string库生成大写字母.小写字母.数字.特殊字符(14个)这四种字符组合的复杂度较高的随机密码.精选特殊字符,兼容性好.

  7. python 正则表达式 断言 不定长表达式_MyEssay 之 Python正则表达式 —— 四种断言扩展的理解...

    我们经常用正则表达式来检测一个字符串中包含某个子串,要表示一个字符串中不包含单个的某字符或某些字符也很容易,用[^...]形式就可以了.但是要表示一个字符串中不包含某个子串(由字符序列构成)的时候,用 ...

  8. Python数据结构 四种链表的集合

    python数据结构四个链表的集合 结点的创建 import os# 创建节点 class Node:def __init__(self, data):self.data = dataself.nex ...

  9. 【python 数据挖掘】基于matplotlib的绘图一:四种基本图形及其参数

    python绘图1 1.折线图 2.散点图 3.条形图 4.饼状图 图形化最大的优点就是直观,图像比表格能够传递更多信息,但是一张优秀的统计图,首先要保证正确性,这里的正确是指用合理的统计图来表达原始 ...

最新文章

  1. Node.js中的express框架,修改内容后自动更新(免重启),express热更新
  2. Java程序员三年的工作经验,却不如一个新人的工资高???
  3. DALL·E才发布两天就被复现?官方论文还没出,大神们就在自制代码和视频了
  4. 关于面向对象的的设计原则的使用
  5. Linux引到过程与服务控制
  6. javascript12-object04-毕包
  7. swift5的代理的使用
  8. Linux 字符设备驱动开发基础(五)—— ioremap() 函数解析
  9. VC编译器中混有.c文件时出现fatal error C1853错误(转)
  10. bundle 安装_centos6.7安装zabbix4
  11. ResNet 6大变体对比
  12. 我靠ppt做兼职副业,1月还清2W贷款成功上岸!
  13. The Elements of Style 4ed ---英文写作指南(一)
  14. Mac系统如何安装Eclipse并搭建Android开发环境
  15. Android Timer和TimerTask解决IllegalStateException:Task already scheduled or cancelled
  16. 小葵花妈妈课堂开课了:《ArrayList源码浅析》
  17. 人工智能轨道交通行业周刊-第9期(2022.8.8-8.14)
  18. 基于高通量测序开发甘蓝型油菜全基因组SSR标记
  19. 路由器配置(新手上路,比较全面,强烈推荐)
  20. “Random“ objects should be reused解决 Random() 低效问题

热门文章

  1. 容器编排的作用和要实现的内容
  2. 看蘑菇街发展历程全面解析
  3. 网上查的资料怎么打印?
  4. 极光笔记|百亿级KV存储在极光的运维实践之路
  5. 对自己狠一点,离成功近一点
  6. 国产32层堆栈3D闪存2019年量产 2020年赶超国际
  7. 程序员计算机的b怎么换算,在计算机中,一个机器字是由几b组成的?
  8. Mysql-如何进行慢SQL查询
  9. 2022年你应该知道的十大Python库
  10. 软件性能测试需要什么资质,性能测试CNAS资质软件验收测试报告