gpt4 book ai didi

python - 使用 if else 语句求三角形的面积

转载 作者:行者123 更新时间:2023-12-01 03:42:37 24 4
gpt4 key购买 nike

我应该编写一个程序,提示用户输入三角形三边的长度,确定这三个长度可以形成一个三角形,如果可以,则使用 Heron 公式计算面积,精确到 4 位数字。到目前为止我不知道在哪里或如何进行数学计算

import math
def main():
print()
print("Triangle Area Program")
print()
a, b, c = eval(input("Enter three lengths separated by commas: "))
print()
s = (a+b+c) / 2.0
area = sqrt(s*(s-a)*(s-b)*(s-c))
if a > b:
a, b = b, a
if a > c:
a, c = c, a
if b > c:
b, c = c, b
else:
a + b > c
print("A triangle cannot be formed.")

main()

最佳答案

这是您的数学问题的另一个可能版本:

import math


def heron(a, b, c):
return 0.25 * math.sqrt((a + (b + c)) * (c - (a - b)) * (c + (a - b)) * (a + (b - c)))

if __name__ == "__main__":
print()
print("Triangle Area Program")
print()
print()

try:
description = "Enter three lengths separated by commas: "
sides = sorted(map(float, input(description).split(',')))

if (sides[1] + sides[2]) < sides[0]:
print("A triangle cannot be formed.")
else:
a, b, c = sides
print("Area of triangle {0}-{1}-{2} is {3:.4f}".format(
sides[0], sides[1], sides[2], heron(a, b, c)))
except Exception as e:
print("Check your input!!!")
print("--> Error: {0}".format(e))

有关此版本的一些说明:

  • 它会同时解析浮点输入值并进行排序,这样您就可以直接检查是否可以形成三角形
  • 它没有使用朴素的苍鹭公式,而是使用另一个公式 numerically stable

我决定给你另一个版本,因为在评论中你会发现一些关于你的版本的好建议

关于python - 使用 if else 语句求三角形的面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39336283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com