计算三角形的周长和面积 您所在的位置:网站首页 用python求三角形的面积和周长 计算三角形的周长和面积

计算三角形的周长和面积

2024-05-10 21:38| 来源: 网络整理| 查看: 265

计算三角形的周长和面积 题目要求

写一段程序,让用户输入三角形的三条边长,如果三条边长不能构成三角形,则提示用户重新输入

如果可以构成三角形,则计算周长和面积

思路分析

对于用户的输入,首先要约定格式,这里简单的约定为每个边长之间用空格间隔

在获得用户的输入以后,要对输入进行检查,有两点需要检查

(1) 检查是不是输入了三条边的边长,输入2个或者4个都是错误的

(2) 检查输入的内容是不是数值型,如果输入的是字母,那根本驴唇不对马嘴

以上两点是编程时要考虑的,经过上面的分析你应该有所体会,编程,并不是你掌握一门语言然后用它在计算机上做各种操作

编程,是对问题的思考,我这里约定让用户一次性输入三条边的边长,中间用空格隔开,你也可以让用户输入三次,也可以让用户输入一次但用别的字符做间隔,这些都是没有定论的,完全取决于你的思考

对于输入内容检查,你可能会以为python会自己完成,但其实不会,input获得的就是字符串,你必须理解什么是字符串,必须清楚的知道input的作用,这些都是最最基础的内容,如果你不掌握这些,那你就无法思考

根本不存在一种方法或者操作可以满足你的要求,可以解决实际的问题,编程就是分析问题然后你自己解决问题的过程

def get_edge(line): """ 根据用户的输入获得三条边 用户输入三条边的长度,用空格隔开 类似于 3 4 5 :param line: :return: """ edge_lst = line.split(" ") # 如果输入条数不是3 if len(edge_lst) != 3: return False, (0, 0, 0) try: # raw_input 获得用户的输入,得到的是字符串,这里把字符串转成float数值 edge_lst = [float(item) for item in edge_lst] except: return False, (0, 0, 0) return True, (edge_lst[0], edge_lst[1], edge_lst[2]) def is_able_triangle(a, b, c): """ 判断能否构成三角形 :param a: :param b: :param c: :return: """ return (a + b > c) and (a + c > b) and (c + b > a) def triangle_func(): while True: line = input('输入三角形的三个边长,用空格隔开,退出请输入q:') if line == 'q': break input_correct, edges = get_edge(line) if not input_correct: print('输入错误') continue if not is_able_triangle(edges[0], edges[1], edges[2]): print('不能构成三角形') continue perimeter = sum(edges) half_perimeter = perimeter/2 area = (half_perimeter*(half_perimeter-edges[0])*(half_perimeter-edges[1])*(half_perimeter-edges[2])) ** 0.5 print('周长: {perimeter} 面积:{area}'.format(perimeter=perimeter, area=area)) if __name__ == '__main__': triangle_func()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有