类型:数值运算‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬


描述
输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式: image.png ,其中s=(a+b+c)/2。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  1. import math #导入math库
  2. math.sqrt(x)
  3. #调用sqrt函数实现开平方运算,x表示要求值的数据
  4. # 或用幂运算 x ** 0.5 表示开平方

输入格式
分三行输入 3 个浮点数,表示三角形的三个边长
输出格式
周长=xx
面积=xx‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入:
3
4
5‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出:
周长=12.00
面积=6.00

解析:

  1. 有3行输入,各用一个input()函数
  2. 每行输入一个浮点数,用float()函数
  3. 表达式需要转为python计算表达式
  4. 不能省略乘号,所有乘法须明确用 * 表示
  5. 开平方可以用x ** 0.5 或sqrt()函数
  6. 若用sqrt,需import math

常见问题

  1. str.format()和f-string构成的字符串不能再参与数值运算,引号中的字符串只能原样输出

    1. a=float(input())
    2. b=float(input())
    3. c=float(input())
    4. s=(a+b+c)/2
    5. k=(s*(s-a)*(s-b)*(s-c))**0.5
    6. print(f'周长=2*{s:.2f}') # 周长=2*6.00
    7. print(f'面积={k:.2f}')
  2. 缺少乘号

    1. print(math.sqrt(s(s-a)(s-b)(s-c))) # s和后面各括号间少乘号
  3. 应用math模块中的函数但未导入math模块 ```python

    缺少math导入

a=float(input()) b=float(input()) c=float(input()) s=(a+b+c)/2 print(math.sqrt(s(s-a)(s-b)(s-c)))

  1. 4. 输出与要求不符
  2. ```python
  3. # 缺少math导入
  4. a=float(input())
  5. b=float(input())
  6. c=float(input())
  7. s=(a+b+c)/2
  8. print(math.sqrt(s(s-a)(s-b)(s-c))) # 输出与要求数量与格式不符
  1. 输出格式多空格

    1. import math
    2. a=eval(input())
    3. b=eval(input())
    4. c=eval(input())
    5. l=a+b+c
    6. print('周长=','{:.2f}'.format(l))
    7. s=(a+b+c)/2
    8. area=math.sqrt(s*(s-a)*(s-b)*(s-c)) # 周长= 等号后面会多一个空格
    9. print('面积=','{:.2f}'.format(area)) # 两个参数默认用空格分隔
  2. 缺少精度控制,输入语句多参数

    1. import math
    2. a=int(input("3")) # 多字符3
    3. b=int(input("4"))
    4. c=int(input("5"))
    5. p=(a+b+c)/2
    6. g=math.sqrt(p*(p-a)*(p-b)*(p-c))
    7. print("周长="+str(a+b+c)) # 缺精度
    8. print("面积="+str(g))
  3. 输入函数名错

image.png

import math
a = float(imput())
b = float(imput())
c = float(imput())
s = (a + b + c) / 2
m = (s * (s - a) * (s - b) * (s - c)) ** 0.5
n = (a + b + c)
print(f"周长={n:.2f}")
print(f"面积={m:.2f}")
  1. 输出格式错,输出的字符串放大括号外面 ```python import math a=float(input()) b=float(input()) c=float(input()) n=a+b+c s=(a+b+c)/2 area=math.sqrt(s(s-a)(s-b)*(s-c)) print(“{周长=:.2f}”.format(n)) print(“{面积=:.2f}”.format(area))

```