该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

用Python实现“已知三角形两个直角边,求斜边”

要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入。

思路:伪代码描述下步骤

1、-input a value for the base as a float(输入某浮点数作为底边值)

2、-input a value for the height as a float(输入某浮点数作为高的值)

3、-square root--b squared plus h squared(求平方和和开根号)

4、-save that as a float in hype,for hypotenuse(把结果存为hyp,表示斜边)

5、-print something out,using the value in hyp.(打印出结果)

分析以上思路(伪代码),可以得出:

0、用户的输入结果是各种情况,要小心用户的输入

1、代码的抽象化(开方的计算用math模块的sqrt内置函数)

2、流程控制

代码一:

[python] view plaincopy

#! /usr/bin/env python

# encoding:utf-8

import math

# 取底

inputOK = False

while not inputOK:

base = input('输入底:')

if type(base) == type(1.0):

inputOK = True

else:

print('错误,底必须为浮点数')

# 取高

inputOK = False

while not inputOK:

height = input('输入高:')

if type(height) == type(1.0):

inputOK = True

else:

print('错误,高必须为浮点数')

#斜边

hyp = math.sqrt(base*base + height*height)

print '底' + str(base) + ',高' + str(height) + ',斜边' + str(hyp)

分析代码一,会发现取底,取高的代码非常相似,这就会让人想到抽象成方法,实现模块化。

所以,就有了代码二:

[python] view plaincopy

#!/usr/bin/env python

#coding:utf-8

import math

"""

用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入。

"""

def getFloat(requestMsg, errorMsg):

inputOK = False

while not inputOK:

val = input(requestMsg)

if type(val) == type(1.0):

inputOK = True

else:

print(errorMsg)

return val

base = getFloat('输入底:','错误,底必须为浮点数')

height = getFloat('输入高:','错误,高必须为浮点数')

hyp = math.sqrt(base*base + height*height)

print '底' + str(base) + ',高' + str(height) + ',斜边' + str(hyp)

python已知两条直角边求斜边_Python实现已知三角形两直角边,求斜边--思路,伪代码,优化...相关推荐

  1. C++实现求两条直线的交点,以及已知直线外一点求垂足

    已知直线上的两个点或者已知直线的斜率和截距两种情况下求交点和垂足. 两种情况来自于实际求解中可以找到边界上的两个点列出直线方程,也可以用更准确的求法即获取多个点拟合一条直线. 1.求两直线的交点(两点 ...

  2. python直角三角形的两个直角边、求斜边_Python实现“已知三角形两个直角边,求斜边”...

    用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...

  3. python画两条曲线_查找在matplotlib中绘制的两条曲线之间的区域(在区域之间填充)...

    我有两条曲线的x和y值列表,它们都有奇怪的形状,而且我没有任何函数.我需要做两件事:(1)绘制它并对曲线之间的区域进行着色,如下图所示:(2)找到曲线之间该着色区域的总面积. 在matplotlib中 ...

  4. 过椭圆外一点引两条切线方程_椭圆外一点引椭圆的两条切线互相垂直问题巧解 -...

    椭圆外一点引椭圆的两条切线互相垂直问题巧解 x2y2 问题: 已知椭圆c: 2?2?1(a?b?0),点P(x0 ,y0)是椭圆外一点,且由点P引椭 ab圆的两条切线互相垂直,则点P(x0,y0)的轨 ...

  5. 过椭圆外一点引两条切线方程_椭圆外一点引椭圆的两条切线互相垂直问题巧解...

    椭圆外一点引椭圆的两条切线互相垂直问题巧解 1椭圆外一点引椭圆的两条切线互相垂直问题巧解 问题: 已知椭圆 c: ,点 P (x 0 , y 0 )是椭圆外一点,且由点 P 引椭 ) 0 ( 1 2 ...

  6. 台式计算机装两条内存条开不了机,电脑插了两根内存条后开不了机是怎么回事?...

    好多网友在想升级电脑的时候,第一条就是想到要加一根内存,但是好多网友都会遇到电脑插了两根内存条后开不了机了,这是怎么回事呢?我们一起来看看. 电脑插了两根内存条后开不了机是怎么回事? 1.如果只有其中 ...

  7. python函数拟合求导_python – 使用scipy curve_fit通过两个数据点拟合指数函数

    如果你想从两个数据点找到目标函数中的两个参数,这对于最小二乘拟合不一定是个问题:只需求解联立方程式y1 = b(x1 a)^ p和y2 = b( x2 a)^ p参数a和b: import numpy ...

  8. python返回上一条指令必须包括_python基础(10)--模块

    模块(module) 模块,用一坨代码实现了某个功能的代码集合 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来 ...

  9. python开发环境和运行环境的区别_Python 初学者必知:Python 运行与开发环境

    http://codingdao.com/wp/post/py-must-know-run-dev-env/ Python 初学者必知:Python 运行与开发环境 2011年2月11日 Breake ...

最新文章

  1. FPGA 内部双口块RAM 读写实现
  2. 《Adobe Photoshop CC经典教程(彩色版)》—第4课4.7节添加调整图层
  3. SQL判断NULL的几种常见方式
  4. 学Java可以看哪些书?6本Java书籍推荐
  5. HDU 1176 免费馅饼
  6. Tensorflow2.0开启,从此忘记1.*版本
  7. 小程序背景图满屏_竞赛答题小程序
  8. Find the longest route with the smallest starting point
  9. 表单提交复选框(checkbox)注意事项
  10. 微信农场,第二个QQ秀?
  11. 企业征信查询工具--企信宝
  12. 验证码(CAPTCHA)
  13. openGL结合光照与纹理
  14. canvas画的北斗七星和大熊座
  15. 人脸识别之人眼定位、人脸矫正、人脸尺寸标准化---Mastering OpenCV with Practical Computer Vision Projects
  16. 智慧旅游的c端产品破局
  17. 完全免费,界面友好的文件批量更名工具Bulk Rename Utility
  18. 奔驰原厂柏林之声加装 成都蔚一名车汇
  19. 第三届中国GI国际会议完美收官
  20. C++制作简单的军棋小游戏(控制台窗口)

热门文章

  1. MySQL第十次作业
  2. git push -u origin master提示 fatal: repository 'https://gitlab.com/xx.git/' not found
  3. DM error code 达梦数据库-错误代码 汇总
  4. 在sublime中插入图片
  5. 头脑王者服务器维护,头脑王者服务器
  6. 数据分析实战案例:手把手教你用 Python 分析千万级淘宝数据
  7. simulink/stateflow 纯电动+4档变速箱动力性经济性仿真模型 包含vcu控制及换档控制模型,可实现最高车速 最大爬坡度 加速时间,能耗续航仿真
  8. 基于蓝牙与Android设备的控制系统设计
  9. CentOS 安装Nvidia驱动+CUDA+cuDNN+Anaconda3
  10. 计算机函数的输入,向计算机输入复杂的数学函数公式怎样处理?