购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5-8 专题:BMI/猜数字/生肖/方程式/联立方程式/火箭升空/闰年

5-8-1 设计人体体重健康判断程序

程序实例ch5_12.py: 人体健康体重指数判断程序,这个程序会要求输入身高与体重,然后计算BMI指数,同时打印BMI,由这个BMI指数判断体重是否正常。

执行结果

5-8-2 猜出0 ~ 7的数字

程序实例ch5_13.py: 心中先预想一个0~7的数字,程序会问3个问题,然后猜中数字。

执行结果

0~7的数字基本上可用3个二进制表示,即000~111。其实所问的3个问题,基本上只是了解特定位是否为1。

5-8-3 十二生肖系统

我们使用鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪当作十二生肖,每十二年是一个周期,1900年是鼠年。

程序实例ch5_14.py: 请输入你出生的公元年19xx或20xx,本程序会输出相对应的生肖年。

执行结果

以上是用公元日历,十二生肖年是农历年,所以年初或年尾会有一些差异。

5-8-4 求一元二次方程式的根

一元二次方程式表示如下:

     ax2 + bx + c = 0

可以用下列方式获得根:

上述方程式有3种状况:如果b 2 – 4ac是 正值 ,那么这个一元二次方程式有2个实数根;如果b 2 – 4ac是 0 ,那么这个一元二次方程式有1个实数根;如果b 2 – 4ac是 负值 ,那么这个一元二次方程式没有实数根。

实数根的几何意义是与x轴交叉点的坐标。

程序实例ch5_15.py: 有一个一元二次方程式3x 2 + 5x + 1 = 0,求这个方程式的根。

执行结果

5-8-5 求解联立线性方程式

假设有一个联立线性方程式如下:

     ax + by = e
     cx + dy = f

可以用下列方式获得 x y 值:

在上述公式中,如果a*d – b*c等于0,则此联立线性方程式无解。

程序实例ch5_16.py: 计算下列联立线性方程式的值。

     2x + 3y = 13
     x – 2y = -4

执行结果

5-8-6 火箭升空

人造卫星是由火箭发射的,由于地球有引力、太阳也有引力,火箭发射要到达人造卫星绕行地球、脱离地球进入太空,甚至脱离太阳系,必须达到 宇宙速度 方可脱离,所谓的 宇宙速度 概念如下:

第一宇宙速度

第一宇宙速度 也称 环绕地球速度 ,这个速度是 7.9km/s ,当火箭到达这个速度后,人造卫星即可环绕着地球做 圆形移动 。当火箭速度超过7.9km/s但是小于11.2km/s时,人造卫星可以环绕着地球做 椭圆形移动

第二宇宙速度

第二宇宙速度 也称 脱离速度 ,这个速度是 11.2km/s ,当火箭到达这个速度但尚未超过16.7km/s时,人造卫星可以 环绕太阳 ,成为一颗人造行星。

第三宇宙速度

第三宇宙速度 也称 脱逃速度 ,这个速度是 16.7km/s ,当火箭到达这个速度后,就可以脱离太阳引力到太阳系的外层空间。

程序实例ch5_17.py: 请输入火箭速度(km/s),这个程序会输出人造卫星的飞行状态。

执行结果

5-8-7 计算闰年程序

在设计程序时,在if语句内有其他if语句,称之为嵌套if语句,下面将直接用实例解说。

程序实例ch5_18.py: 测试某一年是否闰年。闰年的条件是首先可以被4整除,然后它除以100时,余数不为0或是除以400时余数为0,当2个条件皆符合才算闰年。

执行结果

其实Python允许加上许多层,不过层次一多,未来程序维护会变得比较困难。 C2iWdgI7bjssSx41mhYs46Tm/AL+cI1rDxsEaMS9wPhzxnCxMxGGlQe4fck82VvI

点击中间区域
呼出菜单
上一章
目录
下一章
×