首页 > 其他分享 >三角形面积和周长

三角形面积和周长

时间:2024-03-15 21:59:40浏览次数:23  
标签:perimeter __ 周长 面积 edge 三角形 line 输入

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

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

对于用户的输入,首先要约定格式,这里简单的约定为每个边长之间用空格间隔
在获得用户的输入以后,要对输入进行检查,有两点需要检查

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

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

‘’’

def is_triangle(a, b, c):  # 用来判断是不是三角形
   return (a + b > c and a + c > b and b + c > a)


def get_edge(line):
   # 判断是不是输入的三条百年
   edge_list = line.split(' ')  # 根据空格来分割‘
   if len(edge_list) != 3:
      # 如果不是三条边
      return False, (0, 0, 0)
   try:
      # 获得用户的输入, 得到的是字符串, 这里把字符串转成float数值
      edge_lst = [float(x) for x in edge_list] #列表生成式
   except:
      return False,(0,0,0)
   return True,(edge_lst[0], edge_lst[1], edge_lst[2])


def main():
   while True:
      line = input('输⼊入三⻆角形的三个边⻓长,⽤用空格隔开,退出请输⼊入q:')
      if line == 'q':
         break
      is_ok, edge = get_edge(line) #调用get_edge 获得布尔类型和列表类型
      
      if not is_ok:#如果是False
         print('输入错误,请重新输入')
         continue
      if not is_triangle(edge[0], edge[1], edge[2]):
         print('不能构成三角形')
         continue
      #除此之外 就是符合三角形
      perimeter = edge[0] + edge[1] + edge[2]
      s = perimeter / 2
      area = (s * (s - edge[0]) * (s - edge[1]) * (s - edge[2])) ** 0.5
      print('周长: {perimeter}  面积:{s}'.format(perimeter=perimeter, s=s))
if __name__ == '__main__':
    main()

标签:perimeter,__,周长,面积,edge,三角形,line,输入
From: https://blog.csdn.net/qingcheng_123456/article/details/136718630

相关文章

  • 字符三角形/字符菱形
    #include<iostream>#include<iomanip>usingnamespacestd;intmain(){ chara; inte=1,j,t=31; for(inti=0;i<10;i++){ j=65; cout<<setw(t-1); t--; for(inth=0;h<e;h++){ a=j; cout<<a; j++; } e+=2; cout&......
  • HDU 2036:改革春风吹满地(多边形面积计算)
    一、原题链接Problem-2036(hdu.edu.cn)参考:如何编程计算任意多边形的面积?理解了之后发现好简单!_哔哩哔哩_bilibili二、题面“改革春风吹满地,不会AC没关系;实在不行回老家,还有一亩三分地。谢谢!(乐队奏乐)”话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题......
  • 05 games101-光栅化(三角形的离散化)
    05光栅化(三角形的离散化)三角形三角形的性质和优点:●最基础的多边形●其他图形可以拆解为三角形●三角形内一定是平面●内外的定义很明确●定义三个顶点后,三角形内可以插值光栅化(Rasterization)光栅化关键:判断一个像素和三角形的位置关系(像素中心点与三角形的位......
  • python打印三角形图案
    格式如图: 代码实现:deftriangle(row):foriinrange(1,row+1):forxinrange(i):print('*',end='')print()foriinrange(1,row+1):forxinrange(row-i):print('',end=&#......
  • 杭电OJ 2039三角形
    三角形这题主要是判定三角形。根据三角形的性质,三条边能够组成一个三角形的条件是任意两边之和大于第三边。因此,可以通过以下步骤来判定:1.将三条边按非递减顺序排序;2.如果最短的两条边之和大于最长的边,则这三条边能够组成一个三角形;否则,不能组成。注意:题目说是三个正......
  • 什么是电流环路的面积
    电流环路的面积是指电流流动路径所包围的区域面积。在电子和电气工程中,对电流环路面积的控制非常重要,尤其是在设计高频电路和减少电磁干扰(EMI)方面。电流环路面积的大小直接影响到电磁辐射的强度和接收到的电磁干扰程度。电流环路面积对电磁辐射的影响电磁辐射增加:根据Maxwell方......
  • leetcode120. 三角形最小路径和
    leetcode120.三角形最小路径和这道题的关键在于想到dp[i][j]=min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];太久没做过算法题了,连设一个dp数组都没意识到我的代码classSolution{public:intminimumTotal(vector<vector<int>>&triangle){intsize......
  • 第十一届蓝桥杯:数字三角形
    目录题目暴力:最大路径和题解:动态规划题目暴力:最大路径和n=int(input())#输入数塔的行数#创建一个二维数组a来表示数塔,初始值都为0a=[[0]*(n+1)for_inrange(n+1)]#从第1行开始逐行读取输入,并计算最大路径和foriinrange(1,n+1):forjinrange(1,i......
  • 拉普拉斯变换的积分上下限,或者说积分路径,是复数域的,但是w是单变量,一个单变量,怎么能在
       这个的积分上下限,或者说积分路径,是复数域的,但是w是单变量,一个单变量,怎么能在复空间上面积分呢? 做变换后,由一个维度变成两个维度。 ......
  • JAVA案例:打99乘法表和打三角形
     packagecom.itheima.anli;publicclassAnli3{publicstaticvoidmain(String[]args){for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){intx=j*i;System.out.print(j+"x"+i+&......