是否构成三角形的判断(麻烦版本)

编程入门 行业动态 更新时间:2024-10-10 00:20:43

是否构成三<a href=https://www.elefans.com/category/jswz/34/1769024.html style=角形的判断(麻烦版本)"/>

是否构成三角形的判断(麻烦版本)

三角形判断的简单版本为任意俩个数的和大于第三个即可,这里展示第二种极其麻烦且没有用的办法

def triangle(a, b, c): new=[a, b, c]#将输入的任意三个数定义为列表judg=0if judg in new: return 0if a==b==c: #这里的含义是判断等边三角形return 3max=a#最大值,最小值暂且定义为第一个数min=ak=0#从这行开始引入了五个变量k,l1,l2,p,counterl1=0l2=0p=0 for i in new[0:]: #此嵌套循环的意义是时使个数之间都相互进行了一次比较counter=0for j in new[k+1:]: if i<j: l1=k+1+countermax=jelse: max=i l1=pif i>=j: min=jl2=k+1+counterelse:min=il2=pcounter+=1k+=1p+=1if k==2:#为了防止出现多余的循环,这里在小循环体达到末端时进行了终止操作breakif l1!=0:if new[l1]<=new[0]:l1=0;max=new[0]if l2!=0:if new[l2]>new[0]:l2=0;min=new[0]#由于循环的机械性,使其无法在最终赋值时确定初始元素与名义上的最大最小元素的大小关系,这里又进行了一次判断del(new[l1])if l2>0:del(new[l2-1])#注意进行第二次删除操作时,列表已改变,所以要l2的值减一以防止出现list assignment index out of range的操作else:del(new[l2])sum=0mid=0dif=0for g in range(0,len(new)): mid+=new[g]sum=mid+mindif=max-midif sum>max and dif<min: #小边之和大于大边,大边之差小于小边return 1else: return 2
a=5
b=3
c=2
d=triangle(a, b, c) 
if d==0:print('输入非法')
if d==1: print('构成三角形')
if d==2: print('构不成三角形')
if d==3: print('等边三角形')

更多推荐

是否构成三角形的判断(麻烦版本)

本文发布于:2024-02-19 17:04:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765103.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:角形   麻烦   版本

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!