#2 三角形判断(python)

欢迎光临我的blog!专栏记录本萌新初学python解题情况,欢迎大家交流思考

 题目如上,较为简单,需要掌握分支结构

【解】

 首先,获取三角形三边长a,b,c的值存放在list中,并升序排序

a,b,c=map(int,input("请输入三角形边长,用英文逗号隔开:").split(","))
l=[a,b,c]
l.sort()

 *这里用到了 map函数,split函数,sort函数,都是较为重要的!需要掌握

之后判断是否构成三角形并输出周长和面积

if l[0]+l[1]>l[2]:
    print("三角形的周长为:",sum(l))
    s=sum(l)/2  #s为半周长
    print("三角形的面积为",(s*(s-a)*(s-b)*(s-c)) ** 0.5)
else:
    print("不满足三角形要求")

*由于提前升序排序,此时只用判断较短两边的长度和大于第三边即可

*面积用到海伦公式,这是中学需要掌握的

最后在构成三角形的if分支中嵌套分支,用以判断三角形类型

    if l[0]**2+l[1]**2==l[2]**2:
        type="直角三角形"
    elif l[0]**2+l[1]**2>l[2]**2:
        type="锐角三角形"
    elif l[0]**2+l[1]**2<l[2]**2:
        type="钝角三角形"
    print("该三角形的类型为:%s"%type)

完整代码如下

a,b,c=map(int,input("请输入三角形边长,用英文逗号隔开:").split(","))
l=[a,b,c]
l.sort()
if l[0]+l[1]>l[2]:
    print("三角形的周长为:",sum(l))
    s=sum(l)/2  #s为半周长
    print("三角形的面积为",(s*(s-a)*(s-b)*(s-c)) ** 0.5)
    if l[0]**2+l[1]**2==l[2]**2:
        type="直角三角形"
    elif l[0]**2+l[1]**2>l[2]**2:
        type="锐角三角形"
    elif l[0]**2+l[1]**2<l[2]**2:
        type="钝角三角形"
    print("该三角形的类型为:%s"%type)
else:
    print("不满足三角形要求")

 水平有限,请多多包涵!

欢迎在评论区发表您的意见!!谢谢啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值