菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python 计算三角形的面积

Document 对象参考手册 Python3 实例

以下实例为通过用户输入三角形三边长度,并计算三角形的面积:

实例(Python 3.0+)

# -*- coding: UTF-8 -*-# Filename : test.py# author by : www.runoob.coma = float(input('输入三角形第一边长: '))b = float(input('输入三角形第二边长: '))c = float(input('输入三角形第三边长: '))# 计算半周长s = (a + b + c) / 2# 计算面积area = (s*(s-a)*(s-b)*(s-c)) ** 0.5print('三角形面积为 %0.2f' %area)

执行以上代码输出结果为:

$ python test.py 
输入三角形第一边长: 5
输入三角形第二边长: 6
输入三角形第三边长: 7
三角形面积为 14.70

Document 对象参考手册 Python3 实例

AI 思考中...

8 篇笔记 写笔记

  1. #0

    除了0还有1吖

    138***[email protected]

    36

    加上判断三角形能否构成的条件:

    #实例四:计算三角形面积
    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)

    除了0还有1吖

    138***[email protected]

    9年前 (2017年09月22日)
  2. #0

    liZONLi

    104***[email protected]

    17

    参考方法:

    #计算三角形面积
    while(True):
     triangle = input('输入三角形三边(如10,6,8):')
     sides = [int(side) for side in triangle.split(',')]
     a,b,c = sides
    #判断输入的三角形是否合法
     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[0]},{0[1]},{0[2]})的面积是:{1}'.format(sides,s))
     break
     else:
     print('三角形不合法')

    liZONLi

    104***[email protected]

    9年前 (2017年09月24日)
  3. #0

    ryan

    lia***[email protected]

    4

    Python3 下测试:

    while True:
     triangle = input('输入三角形三边(如10,6,8):')
     sides = [float(side) for side in triangle.split(',')]
     a,b,c = sides
     
    #判断输入的三角形是否合法
     if a + b > c and a + c > b and b + c > a :
     l = (a + b + c)/2
     s = (l*(l-a)*(l-b)*(l-c))** 0.5
     print('三角形({0[0]},{0[1]},{0[2]})的面积是:{1:.2f}'.format(sides,s))
     break
     else:
     print('三角形不合法')

    ryan

    lia***[email protected]

    8年前 (2018年04月11日)
  4. #0

    傻瓜+笨蛋

    271***[email protected]

    9

    参考方法:

    # 通过用户输入三角形三边长度,并计算三角形的面积
    # 已知三角形三边a,b,c,则
    # (海伦公式)(p=(a+b+c)/2)
    # S=sqrt[p(p-a)(p-b)(p-c)]
    # =sqrt[(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
    # =1/4sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
    import math
    import unicodedata
    # 定义函数判断输入数据是否为数字
    def is_number(s):
     try:
     float(s)
     return True
     except ValueError:
     pass
     try:
     unicodedata.digit(s) # digit 把一个合法的数字字符串转换为数字值
     return True
     except (TypeError, ValueError):
     pass
     return False
    def calculate(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: ')
     calculate(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('输入三角形边长a: ')
    b = input('输入三角形边长b: ')
    c = input('输入三角形边长c: ')
    calculate(a,b,c)

    傻瓜+笨蛋

    271***[email protected]

    8年前 (2018年06月08日)
  5. #0

    我是方程式

    tim***[email protected]

    2

    判断输入数据是否能组成三角形:

    def isTriangle(a,b,c):
     flag=1
     if(a+b>c and a+c>b and b+c>a):
     if(a==b==c):
     print("输入数据构成的三角形为等边三角形")
     elif(a==b or a==c or b==c):
     print("输入数据构成的三角形为等腰三角形")
     else:
     print("输入数据构成的三角形为普通三角形")
     flag=1
     else:
     #print("输入数据不能构成三角形,请重新输入数据!")
     flag=0
     return flag
    #计算三角形的面积
    def triangleArea(a,b,c):
     if(isTriangle(a,b,c)==1):
     # 计算半周长
     s = (a + b + c) / 2
     # 计算面积
     area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
     print('三边边长分别为{0} {1} {2}的三角形的面积为{3:.2f}'.format(a,b,c,area))
     else:
     print("输入数据不能构成三角形,请重新输入数据!")
     a=float(input("请输入三角形第一条边长的数据:"))
     b=float(input("请输入三角形第二条边长的数据:"))
     c=float(input("请输入三角形第三条边长的数据:"))
     triangleArea(a,b,c)
    a=float(input("请输入三角形第一条边长的数据:"))
    b=float(input("请输入三角形第二条边长的数据:"))
    c=float(input("请输入三角形第三条边长的数据:"))
    triangleArea(a,b,c)

    我是方程式

    tim***[email protected]

    7年前 (2019年04月22日)
  6. #0

    小花花

    124***[email protected]

    23

    所以说不用专门写一个函数判断是否为数字。@傻瓜+笨蛋

    import math
    def calculate():
     while True:
     while True:
     try:
     triangle = input('Length, Width, Height:(split by spaces)').split() # 一次输入3个参数
     a, b, c = [float(i) for i in triangle] # 分割3个参数
     break
     except ValueError: # 判断是否为数字
     print('请输入数字类型!!!')
     if a > 0 and b > 0 and c >0:
     if a + b <= c or a + c <= b or b + c <= a:
     print("输入的边长无法构成三角形!!!")
     else:
     p = (a + b + c) / 2
     area = math.sqrt(p * (p - a) * (p - b) * (p - c))
     print('长为{0},宽为{1},高为{2}的三角形面积为{3}'.format(a, b, c, area))
     break
     else:
     print('三角形的边长必须大于0,请输入大于0的数!!!')
    if __name__ == '__main__':
     calculate()

    小花花

    124***[email protected]

    7年前 (2019年07月08日)
  7. #0

    菜菜菜菜鸟

    897***[email protected]

    19

    写个简单的,代码可读性是 python 追求的原则:

    import math
     # 可以不导入模块,像例子那样写 x**0.5
    while True:
     print("请先输入三角形的三边长a,b,c")
     try:
     # 输入字符串会非法,提示重新输入
     a = float(input("请输入边长a:"))
     b = float(input("请输入变成b:"))
     c = float(input("请输入边长c:"))
     except ValueError:
     print("您输入的不是一个数字无法计算三角形面积,请重新输入正确的数字")
     else:
     # 判断三边的边长能否构成一个三角形
     if a+b > c and a+c > b and b+c > a:
     p = (a + b + c)/2
     s = math.sqrt(p*(p-a)*(p-b)*(p-c))
     print("三角形的面积为:{0:.3f}".format(s))
     else:
     print("输入的三边构不成三角形")

    菜菜菜菜鸟

    897***[email protected]

    7年前 (2020年01月09日)
  8. #0

    正在发育的爬虫

    m18***[email protected]

    5

    sorted 是在网上看到的,分享一下:

    import math
    judge = True
    while judge:
     a,b,c = sorted(eval(input('请输入三边长【以逗号隔开】:'))) # 给三边排序,避免后面的分类 
     if a > 0 and b > 0 and c > 0:
     if c < b + a: # 因为sorted的结果是 a>b>c,所以只需一个判断就可
     p = (a + b + c)/2
     S = math.sqrt(p*(p - a)*(p - b)*(p - c))
     print('三角形的面积是:%.3f'%S)
     judge = False
     else:
     print('三边不能构成三角形,请重新输入三个正数,用逗号隔开')
     print() # 上下两次循环隔开,没那么密集,下同
     else: # 可以排除其他误输入类型
     print('输入有误,请输入三个正数,用逗号隔开。') 
     print() 
     continue

    正在发育的爬虫

    m18***[email protected]

    6年前 (2020年04月16日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /