本文主要是介绍三角形面积和周长,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
‘’’
写—段程序,让用户输入三角形的三条边长,如果三条边长不能构成三角形,则提示用户重新 输入
如果可以构成三角形,则计算周长和面积
对于用户的输入,首先要约定格式,这里简单的约定为每个边长之间用空格间隔
在获得用户的输入以后,要对输入进行检查,有两点需要检查
(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':breakis_ok, edge = get_edge(line) #调用get_edge 获得布尔类型和列表类型if not is_ok:#如果是Falseprint('输入错误,请重新输入')continueif not is_triangle(edge[0], edge[1], edge[2]):print('不能构成三角形')continue#除此之外 就是符合三角形perimeter = edge[0] + edge[1] + edge[2]s = perimeter / 2area = (s * (s - edge[0]) * (s - edge[1]) * (s - edge[2])) ** 0.5print('周长: {perimeter} 面积:{s}'.format(perimeter=perimeter, s=s))
if __name__ == '__main__':main()
这篇关于三角形面积和周长的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!