news 2026/2/8 15:40:37

勾股定理(毕达哥拉斯定理)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
勾股定理(毕达哥拉斯定理)

前言核心公式

对于直角三角形,两条直角边的平方和等于斜边的平方

利用图解法3个直角三角形和一个正方形

  1. 将4个直角三角形和正方形排列成一个c × c c\times cc×c的正方形,可知这个正方形的大小是( b − a ) × ( b − a ) (b-a)\times (b-a)ba)×(ba)
  2. 然后,将她们重新排列成同样的形状,形成两个正方形a × a a\times aa×ab × b b\times bb×b
    已知正方形s × s s\times ss×s的面积为s 2 s^{2}s2根据原理
    同样形状的不同排列,面积不变
    可以得出结论a 2 + b 2 = c 2 a^{2}+b^{2}=c^{2}a2+b2=c2m得证

利用图解法的问题

  • 这些直角三角形和正方形的重新排列,可能需要具备一些特殊属性,比如a=b
  • 还有重新排列正方形,隐式地用到了很多关于三角形、正方形和线的事实。这些假设该如何来做呢???

通过ai的介绍了解到的

  • 变形(已知两边求第三边):
    求斜边: c = a 2 + b 2 ​ 求斜边:c=a^{2}+b^{2}​求斜边:c=a2+b2
    求直角边 a : a = c 2 − b 2 ​ 求直角边 a:a=c^{2}−b^{2}​求直角边aa=c2b2
    求直角边 b : b = c 2 − a 2 求直角边 b:b=c^{2}−a^{2}求直角边bb=c2a2

  • 通俗举例
    最经典的勾股数组合:3(a)、4(b)、5(c)
    3 2 + 4 2 = 9 + 16 = 25 = 5 2 ,完全符合定理; 3^{2}+4^{2}=9+16=25=5^{2},完全符合定理;32+42=9+16=25=52,完全符合定理;
    其他常见勾股数:5、12、13;6、8、10 等。

  • 关键注意点

    • 仅适用于直角三角形(有一个角是 90°);
    • 斜边是直角三角形中最长的边,对应直角的对边。

python化(不是我弄出来的)

# 导入数学库,用于开平方运算importmath# 功能1:已知直角边a、b,计算斜边cdefcalculate_hypotenuse(a,b):""" 计算直角三角形的斜边长度 参数: a: 第一条直角边(正数) b: 第二条直角边(正数) 返回: 斜边长度 """# 先计算平方和,再开平方c=math.sqrt(a**2+b**2)returnc# 功能2:验证三个数是否满足勾股定理(判断是否为勾股数)defcheck_pythagorean(a,b,c):""" 验证a、b、c是否满足勾股定理(自动识别斜边) 参数: a, b, c: 三角形的三条边长(正数) 返回: True/False:是否满足勾股定理 """# 先把三个数排序,最大的数作为斜边sides=sorted([a,b,c])# 排序后:sides[0]和sides[1]是直角边,sides[2]是斜边returnmath.isclose(sides[0]**2+sides[1]**2,sides[2]**2)# 主程序:简单的交互演示if__name__=="__main__":# 示例1:计算斜边(输入经典勾股数3、4)a=3b=4c=calculate_hypotenuse(a,b)print(f"已知直角边a={a},b={b},斜边c={c}")# 输出:5.0# 示例2:验证勾股数(3、4、5)print(f"验证3、4、5是否满足勾股定理:{check_pythagorean(3,4,5)}")# 输出:True# 示例3:验证非勾股数(2、3、4)print(f"验证2、3、4是否满足勾股定理:{check_pythagorean(2,3,4)}")# 输出:False# 可选:让用户手动输入数值(新手友好)print("\n===== 手动输入验证 =====")try:num1=float(input("请输入第一条边长:"))num2=float(input("请输入第二条边长:"))num3=float(input("请输入第三条边长:"))result=check_pythagorean(num1,num2,num3)ifresult:print(f"{num1}{num2}{num3}满足勾股定理(是直角三角形的三边)")else:print(f"{num1}{num2}{num3}不满足勾股定理")exceptValueError:print("输入错误!请输入数字(如3、4.5等)")

码关键解释

  • math.sqrt():Python 内置的开平方函数,比如math.sqrt(25)返回 5.0;
  • math.isclose():用于判断两个浮点数是否近似相等(避免因浮点数精度问题导致判断错误,比如 3.0000000001 和 3 视为相等);
  • sorted([a,b,c]):自动把三个数从小到大排序,不用用户手动区分哪条是斜边,更智能;
  • 异常处理try-except:防止用户输入非数字导致程序崩溃,新手也能轻松避免报错。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 19:13:29

从0开始学大模型部署:gpt-oss+WEBUI新手教程

从0开始学大模型部署:gpt-ossWEBUI新手教程 你是不是也想过——不用注册、不依赖网络、不看广告,就能在自己电脑上和OpenAI最新开源的大模型面对面聊天?不是调API,不是用网页版,而是真真正正把模型“请进”本地&#…

作者头像 李华
网站建设 2026/2/5 9:50:22

verl + Ray 架构解析:分布式任务调度机制

verl Ray 架构解析:分布式任务调度机制 verl 作为专为大语言模型后训练设计的强化学习框架,其核心竞争力不仅在于算法表达能力,更在于底层分布式执行引擎的工程深度。在实际生产环境中,一个 RL 训练任务往往涉及 Actor 模型生成…

作者头像 李华
网站建设 2026/2/7 6:32:31

unet image Face Fusion保姆级教程:从零开始部署WebUI界面

unet image Face Fusion保姆级教程:从零开始部署WebUI界面 你是不是也试过各种人脸融合工具,结果不是安装失败,就是界面卡顿,要么就是效果生硬、边缘发虚?今天这篇教程,不讲原理、不堆参数,就带…

作者头像 李华
网站建设 2026/2/8 4:56:09

Z-Image-Turbo文旅宣传案例:景区海报智能生成部署教程

Z-Image-Turbo文旅宣传案例:景区海报智能生成部署教程 1. 为什么文旅行业需要这张“秒出图”的海报生成工具? 你有没有遇到过这样的场景:五一假期前两天,景区运营团队突然接到通知——要为新开的非遗体验馆制作一组高清宣传海报…

作者头像 李华
网站建设 2026/2/8 9:10:21

PyTorch-2.x镜像实测报告:pandas+matplotlib无缝集成

PyTorch-2.x镜像实测报告:pandasmatplotlib无缝集成 1. 开箱即用的深度学习开发环境到底有多省心? 你有没有过这样的经历:花两小时配环境,结果卡在CUDA版本不兼容上?好不容易装好PyTorch,发现pandas报错“…

作者头像 李华
网站建设 2026/2/7 12:57:39

小白也能懂的Qwen3-Embedding入门:零基础实现文本向量化

小白也能懂的Qwen3-Embedding入门:零基础实现文本向量化 1. 什么是文本向量化?先别急着写代码,咱们先搞懂它能干啥 你有没有遇到过这些场景: 想从几百篇产品文档里快速找到和“支付失败”相关的段落,但关键词搜索总…

作者头像 李华