用python输入任意三条边长_如何用python求第三条边边长

用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.(打印出结果)

相关推荐:《Python视频教程》

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

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

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

2、流程控制

代码一#! /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)

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

代码二#!/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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小错误率贝叶斯决策的基本思想_太赞了!机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)...

Datawhale 作者:尹晓丹,Datawhale优秀学习者寄语:首先,简单介绍了生成模型和判别模型,对条件概率、先验概率和后验概率进行了总结;其次,对朴素贝叶斯的原理及公式推导做了详细解读;再…

qprocess回调_QT进程间通信详细介绍及QProcess机制分析

1、QT通信机制为了更好的实现QT的信息交互,在QT系统中创建了较为完善的通信机制。QT的通信可分为QT内部通信和外部通信两大类。对于这两类通信机制及应用场合做如以下分析:(1)QT内部对象间通信在图形用户界面编程中,经常需要将一个窗口部件的…

1 数列分块入门_线性代数入门——利用分块矩阵简化矩阵乘法运算

系列简介:这个系列文章讲解线性代数的基础内容,注重学习方法的培养。线性代数课程的一个重要特点(也是难点)是概念众多,而且各概念间有着千丝万缕的联系,对于初学者不易理解的问题我们会不惜笔墨加以解释。在内容上,以…

junit可执行但控制层无法执行_Junit测试时ContextLoader.getCurrentWebApplicationContext()返回空值...

Junit测试时,test类调用manage类,manage类调用dao类dao类的代码中有如下语句:ContextLoader.getCurrentWebApplicationContext()执行这条语句时返回空值,程序代码如下:下面给出junit测试时的错误语句下面给出Junit运行时控制台输出的语句:九月 26, 2014 …

h5首页加载慢_H5网站制作注意了

H5自适应网站越来越受到企业的追捧,不同于原来的建站模式,H5网站可以很好是调整来达到PC端和移动端的良好展示效果,获得更友好用户体验。H5网站作为网站优化人员,小编第一个想到的并不是H5带来的炫酷效果,认识它解决了…

阿联酋esma认证_阿联酋无人驾驶汽车预计2021年上路

本报讯 迪拜消息-----据《海湾时报》11月26日报道,阿联酋标准化与计量局(ESMA;EmiratesAuthorityfor StandardisationandMetrology)局长AbdullaAlMaeeni表示,阿联酋准备成为全球第一个对无人驾驶汽车制订相关法规的国家,无人驾驶…

PyQt5 电报实时聊天软件 BB-Telegram Pt.0

使用PyQt5实现实时聊天软件 BB-Telegram 是在我BB实时聊天软件上修改的实时显示电报 源代码见下https://github.com/JiayouQin/Python-projects/tree/master/11%20PyQt5%20BB%20Telegram/CN 鉴于PyQt5实现功能篇幅较长,Pt.0不介绍实现过程。 程序主要功能&#…

base cap 分布式_高并发架构系列:详解分布式一致性ACID、CAP、BASE,以及区别

在面试环节,经常会问CAP、BASE等相关的分布式理论,其实这些名词主要还是来自于分布式的一致性,今天主要介绍分布式一致性:强一致性、最终一致性、ACID、CAP等理论。分布式一致性的背景随着分布式事务的出现,传统的单机…

读取剪贴板英语转换为国际莫斯码

Python全代码如下 执行代码之后会自动检测按键,按下CtrlZ之后程序读取剪贴板然后转换为莫斯码再次写入剪贴板 使用第三方模块: pynput win32clipboard 文章尾部附带国际莫斯码表 示例: Caesar openly defied the Senates authority by cros…

asp python 定时任务_Python定时任务轻量解决方案——Schedule

写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务。Linux环境下,可以借助于系统自带的crontab完成定时任务。但是很多时候,开发的同学们可能并没有权限去操作crontab,所以就催生了一些不太好的…

Pygame简单深度优先算法生成迷宫

学习路径计算之前需要一个场景,网上查了下迷宫生成方法花了点时间写了个简单的迷宫生成器 基本原理十分简单: 使用2维矩阵表示迷宫,每一个节点有四面墙,使用深度搜索,随机顺序向四个方向移动,,如果遇到已到…

wait放弃对象锁_终于搞懂了sleep/wait/notify/notifyAll,真的是不容易

sleep/wait/notify/notifyAll分别有什么作用?它们的区别是什么?wait时为什么要放在循环里而不能直接用if?简介首先对几个相关的方法做个简单解释,Object中有几个用于线程同步的方法:wait、notify、notifyAll。public c…

Pygame 使用Djkstra广度搜索寻找迷宫(相对)最短路径

基于之前写的迷宫生成器实现了Djkstra算法搜索路径。 https://blog.csdn.net/ChillingKangaroo/article/details/122800431 Djkstra基于广度优先算法,与简单搜索不同的是Djkstra在访问每一个节点的时候会计算到该节点的最短路径以及上一个节点,如果有新…

python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!

公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!很多学习 Python 的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决。当然,孰能生巧,当…

(开源)Flask+Vue+Bootstrap3 人力资源用Web数据库

闲着没事写了一个轻量级web数据库,在网页端访问并操作SQL,可以进行Excel(xlsx)数据导入\导出,包含用户注册\登录\授权功能,密码有hash,授权目前比较简陋:后端使用了一个列表储存授权用户 已授权用户&#…

access找不到输入表或者dual_在Access窗体中显示指定路径的图片

↑↑↑点击上方图片,了解详情在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来。但是这样做有以下不足:一、需要将图片逐一插入到表中,工作量太大。二、使数据库文件变得庞大。三、相同…

LeetCode 168. Excel列表名称详解

刷到了这一道简单难度题 https://leetcode-cn.com/problems/excel-sheet-column-title/https://leetcode-cn.com/problems/excel-sheet-column-title/ 粗看就是一道进制转换题不过容易掉坑里。 首先略讲一下进制转换, 以701为例,该数字可以转换为以下…

可视化管理_RFID技术实施智能仓储管理可视化

仓储物流管理在各个行业都非常重要,RFID技术助力仓储物流信息管理提高供应链管理的透明度和库存周转率,这样有效减少缺货损失,提高企业内的仓储物流效率。仓库管理过程中,存在区域划分笼统,不容易辨识,货物…

(包含重力矢量)Pygame粒子模拟

半成品,目前速度不能修改,另外某些状况下路径会比较奇怪,因为没有速度计算,包含了重力矢量,可以修改重力方向 import pygame as pg import math import time import random import mathclass Particle(): #Tile is for…

小米蓝牙左右互联_解决不同品牌智能家居的兼容问题,小米米家智能多模网关发布...

如今智能家居种类可谓异常丰富,许多智能家居确实能让日常生活变得更加便捷。但是,相信许多智能家居爱好者都有一个烦恼,不同的品牌智能家居几乎不能实现交互,比如现在正使用Zigbee协议的智能家居,但新购置的智能家居却…