#!/usr/bin/python3
import math
def calculate():
while True:
while True: # 一直循环,死循环
try: # 错误和异常 :try except 语句
triangle = input('输入三边的值,空格隔开').split() # split() 函数将多个输入参数转换为列表,分隔符默认:空格,换行等
a, b, c = [float(i) for i in triangle] # 分割3个参数;float [floʊt] 漂浮,转换为1位小数类型;也可以为 int(i) 整型 参考:python 运算符
break # 退出子循环
except ValueError: # 判断是否为数字:只有数字才能格式化为 float 小数,否则报错
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)) # 海伦面积公式;math.sqrt 包下面的求平方函数
print('长为{0},宽为{1},高为{2}的三角形面积为{3}'.format(a, b, c, area))
# .format() [ˈfɔrˌmæt] 格式,它增强了字符串格式化的功能,用法:通过 {} 和 : 来代替以前的 % 。参考:python 字符串
break
else:
print('三角形的边长必须大于0,请输入大于0的数!!!')
if __name__ == '__main__': # 作用:import 到其它脚本文件使用时,在 if __name__ == 'main': 下的代码不被执行,此处是: calculate() 不被执行
calculate()
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 15:20:54,Processed in 0.01106 second(s).