首页 > 编程语言 >python-求三角形的面积

python-求三角形的面积

时间:2022-11-04 11:03:15浏览次数:45  
标签:float python 面积 边长 print input 三角形 输入


计算三角形的面积

法一:

#计算三角形的面积

a = float(input('输入三角形第一边长:'))
b = float(input('输入三角形第二边长: '))
c = float(input('输入三角形第三边长:'))

while a+b<c or a+c<b or b+c<a:
print('输入的边不构成三角形,请重新输入:')
a = float(input('输入三角形第一边长:'))
b = float(input('输入三角形第二边长: '))
c = float(input('输入三角形第三边长:'))

s = (a+b+c)/2
area = (s*(s-a)*(s-b)*(s-c))**0.5
print('三角形面积为:%0.2f' % area)

python-求三角形的面积_git


法二:

将输入加入循环里:

while True:
a = float(input('输入三角形第一边长:'))
b = float(input('输入三角形第二边长: '))
c = float(input('输入三角形第三边长:'))
if a + b > c and a + c > b and b + c > a:
s = a * b * (1 - ((a ** 2 + b ** 2 - c ** 2) / (2 * a * b)) ** 2) ** 0.5 / 2
print('三角形的面积是:%0.2f' % s)
break
else:
print('三角形不合法')

python-求三角形的面积_git_02


法三:加一些输入的限制条件

import math
import unicodedata
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
unicodedata.digit(s)
return True
except (TypeError, ValueError):
pass
return False

def cal(a, b, c):
if is_number(a) and is_number(b) and is_number(c):
a = float(a)
b = float(b)
c = float(c)
if a > 0 and b > 0 and c >0:
while a+b<=c or a+c<=b or b+c<=a:
print("输入的边长无法构成三角形")
a = input('输入三角形边长a: ')
b = input('输入三角形边长b: ')
c = input('输入三角形边长c: ')
cal(a,b,c)
p = (a+b+c)/2
area = math.sqrt(p*(p - a)*(p - b)*(p - c))
print("三角形面积为:%0.2f" % area)
else:
print("三角形的边长必须大于0,请输入大于0的数")
else:
print('请输入数字类型')

a = input('输入三角形边长: ')
b = input('输入三角形边长: ')
c = input('输入三角形边长: ')
cal(a,b,c)

python-求三角形的面积_git_03


标签:float,python,面积,边长,print,input,三角形,输入
From: https://blog.51cto.com/u_15861560/5822298

相关文章

  • python-当字符串为空则抛出异常
    今天有一个需求,判断字符串是否为空,为空则抛出异常python的异常有个大基类,承的是Exception。所以我们自定义类也必须继承Exception#最简单的自定义异常classFError(Exceptio......
  • Python-SMTP发送邮件
    之前学习过SMTP(SimpleMailTransferProtocol,知道是简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很......
  • python-二次方程
    导入cmath模块,计算复杂数学运算eg:我们计算二次方程式ax**2+bx+c=0代码如下:importcmatha=float(input('输入a:'))b=float(input('输入b:'))c=float(in......
  • Python yield 使用浅析
    之前了解了生成器的概念,带有yield的函数在Python中被称之为generator(生成器),那么应该什么时候使用呢?举个例子:简单输出斐波那契數列前N个数deffab(max):n,a,b=......
  • python之sys模块
    python之sys模块详解之前用过sys模块的一种用法,今天总结一下。sys.argv功能:在外部向程序内部传递参数eg:#!/usr/bin/envpythonimportsysprint(sys.argv[0])print(sys.arg......
  • python画图 去除横纵坐标值;设置横纵坐标名称;设置坐标轴刻度大小
    1.去除横纵坐标值plt.xticks([])#去掉横坐标值plt.yticks([])#去掉纵坐标值2.设置横纵坐标名称ax1.set_xlabel('Outputclass',fontsize=24)#设置x轴名称a......
  • python 中将单条scaffold的碱基序列按照指定数目输出
      001\[root@pc1test3]#cata.fa>chr1cccccggggggggttttggcccgggggg>chr2uuuuutttttNNNNNddffffdddgggggggggggcccccccccc[root@pc1test3]#cattest.py#......
  • 数字三角形模型及应用
    数字三角形是最裸的题目,没有加入任何的背景,这里就不写了。下面这道摘花生的题目就是数字三角形的应用HelloKitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道......
  • Python函数参数中的 : 以及 ->
    一些python函数中,参数后面有冒号,函数后面还有箭头,这是什么含义呢?函数参数中的冒号是参数的类型建议符,告诉函数调用者希望传入的实参的类型。函数后面跟着的箭头是函数返回......
  • ipython 的感叹号、问号的使用
    目录使用感叹号!运行Shell命令使用一个感叹号!运行赋值编码使用两个感叹号!!运行编码赋值注意使用问号?获取帮助使用一个问号?使用两个问号??使用*做模糊查询......