Python实验一 : 利用从键盘输入的字典数据来计算三角形面积。三角形的顶点被存储在一个字典中。字典中的键对应顶点编号(1、2或3),而值则是顶点x、y坐标构成的二元组。

实验要求:

利用从键盘输入的字典数据来计算三角形面积。

三角形的顶点被存储在一个字典中。字典中的键对应顶点编号(1、2或3),而值则是顶点x、y坐标构成的二元组。例如,顶点为(0,0)、(1,0)和(0,2)的三角形可用字典vertices表示为:

vertices = {1: (0,0), 2: (1,0), 3: (0,2)}

输入三个顶点数据并打印输出三角形的面积。

代码还是有瑕疵的欢迎大家批评指正

下面是代码块:

#字典三角形
import math #引用数学库
x1, y1 = eval(input("请输入第一个顶点:"))
x2, y2 = eval(input("请输入第二个顶点:"))
x3, y3 = eval(input("请输入第三个顶点:"))

dict1 = []
dict2 = []
dict3 = []

dict1.append(x1)
dict1.append(y1)

dict2.append(x2)
dict2.append(y2)

dict3.append(x3)
dict3.append(y3)

Dict = {1:dict1, 2:dict2, 3:dict3}
print(f"vertices ={Dict}")
# 采用s=(a+b+c)/2求得半周长后用求面积公式求解
if (x1 - x2) * (y1 - y2) == (x2 - x3) * (y2 - y3):
    print('三点在同一条直线上!')
else:
    a = float(math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2))
    b = float(math.sqrt((x2 - x3) ** 2 + (y2 - y3) ** 2))
    c = float(math.sqrt((x1 - x3) ** 2 + (y1 - y3) ** 2))
    s = (a + b + c) / 2
    print("该三角形的三边分别为:", a, b, c)
    # 计算三角线面积
    area = float(math.sqrt((s * (s - a) * (s - b) * (s - c))))
    print("该三角形的面积:", area)

 实验输出结果:

符合实验要求,到这就结束了,感觉有用的话,记得点个赞哈。!!!!!!! 

猜你喜欢

转载自blog.csdn.net/qq_56992543/article/details/127641250