[Day_14]选择性结构- 多向选择结构、条件判断与运算子「in」

多向选择结构让程序执行路径可以有无限多种选项,
我们可以使用多个 if-elif-else 来达成多向选择结构,
以下说明多项选择结构与法 :

#多向选择结构语法
if 条件判断_1:
    条件判断_1 成立的叙述
elif 条件判断_2:
    条件判断_1 不成立且判断_2成立的叙述
else :
    条件判断_1 不成立且条件判断_2不成立的叙述
    
#程序范例
if score >=90 :
    print('very good')
elif score >= 60:
    print('soso')
else:
    print('not good')

了解以上的例子後,
让我们来看一题范例 :

BMI常用判断肥胖程度,写一个程序让使用者输入身高与体重,显示BMI值肥旁程度。

BMI值 肥胖分级
BMI<18 体重过轻
18 <= BMI < 24 体重过轻
24 <= BMI < 27 体重正常
27 <= BMI 体重肥胖
#output
请输入体重(KG)?65
请输入身高(M)?1.65
BMI为 23.875114784205696
体重正常

#input
w = float(input('请输入体重(KG)?'))
h = float(input('请输入身高(M)?'))
bmi = w/(h*h)
print('BMI为',bmi)
if bmi < 18:
    print('体重过轻')
elif bmi < 24:
    print('体重正常')
elif bmi < 27:
    print('体重过重')
else :
    print('体重肥胖')

条件判断与运算子「in」

可以使用条件判断与「in」测试资料容器tuple、串列、字典与集合是否包含某个元素。

判断tuple是否包含某个元素

使用条件判断与「in」进行判断,程序如下 :

#input
a = (1,2,3,4)
if 1 in a:
    print('数字 1在tuple a 中')
else:
    print('数字 1不在tuple a 中')
    
#output
数字 1在tuple a 中

判断串列是否包含某个元素

使用条件判断与「in」进行判断 :

#intput
a = list('abcdefghijlkmnopqrstuvwxyz')
if 'k' in a:
    print('k在串列a中')
else:
    print('k不在串列a中')
    
#output
k在串列a中

判断字典是否

使用条件判断与「in」进行判断 :

#input
exam = {'第一节课':'考国文','第二节课':'考英文'}
if '第一节课' in exam:
    print('第一节课',exam['第一节课'])
else:
    print('找不到要考什麽ㄟ')
    
#output
第一节课 考国文

判断集合是否包含某个元素

使用条件判断与「in」进行判断 :

#input
a = set('elephant')
if 'e' in a:
    print('e在集合a中')
else:
    print('e不在集合中')
    
#output
e在集合a中

这边是结构选择的全部介绍了,
大家有不懂的要记得看前面的文章喔~~
我们明天再见~
/images/emoticon/emoticon07.gif


<<:  Day13 Naming Rule & Template & 建构管理

>>:  [ Day 13 ] React 的生命周期 - Unmounting

架站:Wordpress apps + DDNS+SSL+Port Forward

今天我们要一口气把网站「落成」~~~ 在昨天设定完安装包後,今天除了使用插件快速部属网站外 还须利用...

【Day 5_ Arm Mali GPU家族究竟是何方神圣_下篇】

延续上篇还没介绍完的Arm Mali GPU系列解决方案,今天要来接着介绍Mali-G510 GPU...

认识 CSS animation 与他的孩子们 (一)

keyframes 定义关键影格的各自状态,不同关键影格组成动态变化,但我们在定义keyframes...

使用Lucene.Net达成全文检索!基础解说(一)

Lucene.Net是一套C#开源全文索引库,其主要包含了: · Index : 提供索引的管理与词...

[Day 28] - Gatsby feat. EC ( 下 )

昨天我们完成了一个基本的购物流程,但程序码内有着不安全的问题,今天我们要用 .env 的形式来规避这...