三角形面积和周长

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

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

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

(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()
  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值