Python零基础学习3—Python选择结构程序设计

选择结构又称为分支结构,是根据给定的条件是否成立来决定程序的执行流程。

下面让我们根据几个例题来了解Python中的选择结构:

第1关:奇偶性判断

任务描述

本关任务:从键盘输入一个整数,判断其奇偶性。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4

预期输出: 4是偶数

测试输入: 5

预期输出: 5是奇数

代码解析

a = eval(input())
if a%2 == 0:
    print(f"{a}是偶数")
else:
    print(f"{a}是奇数")

第2关:计算分段函数值

任务描述

本关任务:编程,计算并输出下面分段函数的值(保留1位小数)。

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入x的值:-4

预期输出: 函数fx=2.0

代码解析

这里涉及到一些数学计算,所以我们先要导入math模块。然后这里我们按要求定义一个函数:

from math import *
def f(x):
    if x < 0:
        return (-x)*sin(pi/6)
    else:
        return sqrt(x**2+cos(pi/6))/5
x = eval(input("请输入x的值:"))
print("函数fx=",end = "")
print(round(f(x),1))

 第3关:计算BMI值

任务描述

本关任务: 身体质量指数BMI是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准,等于体重w(kg)除以身高h(m)的平方,BMI=w/(h^2)。

成人的BMI数值与胖瘦关系如下。 偏瘦:BMI<18.5 正常:18.5≤BMI<25 偏胖:25≤BMI<28 肥胖:28≤BMI<32 严重肥胖:≥32

编写一个程序,根据输入的体重和身高计算他的BMI值,并输出胖瘦提示信息。

测试说明

平台会对你编写的代码进行测试:

测试输入:

请输入您的体重(kg):50

请输入您的身高(m):1.7

预期输出: 偏瘦

代码解析

同样我们也可以定义一个BMI函数:

def BMI(w,h):
    bmi = w/(h**2)
    if bmi < 18.5:
        return "偏瘦"
    if 18.5 <= bmi < 25:
        return "正常"
    if 25 <= bmi <28:
        return "偏胖"
    if 28 <= bmi < 32:
        return "肥胖"
    else:
        return "严重肥胖"

w = eval(input("请输入您的体重(kg):"))
h = eval(input("请输入您的身高(m):"))
print(BMI(w,h))

第4关:计算三角形面积

任务描述

本关任务:编程,根据边长计算三角形面积

从键盘输入三个数,判断是否能构成三角形的三边. 如果能则计算三角形的面积,根据三边计算三角形面积公式如下:

其中,p=(a+b+c)/2

如果不能构成三角形则输出提示信息。 a、b、c能构成三角形三边必须满足以下两个条件: (1)都是正数。 (2)任意两边之和大于第三边。

测试说明

平台会对你编写的代码进行测试:

测试输入:

请输入实数a:3

请输入实数b:4

请输入实数c:5

预期输出: 三角形面积为:6.00

测试输入:

请输入实数a:6

请输入实数b:4

请输入实数c:11

预期输出: 6、4、11不能构成三角形!

测试输入:

请输入实数a:-9

请输入实数b:4

请输入实数c:2

预期输出: 有负数,不能构成三角形!

代码解析

 这里我们一定要把所有的情况都讨论清楚:

from math import *
a = eval(input("请输入实数a:"))
b = eval(input("请输入实数b:"))
c = eval(input("请输入实数c:"))
if a<0 or b<0 or c<0:
    print("有负数,不能构成三角形!")
else:
    if a+b<c or b+c<a or c+a<b:
        print(f"{a}、{b}、{c}不能构成三角形!")
    else:
        p = (a+b+c)/2
        s = sqrt(p*(p-a)*(p-b)*(p-c))
        print("三角形面积为:{:.2f}".format(s))

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值