从这节课开始呢
要学习流程控制语句了
这节课的内容大致就是先讲一下条件选择语句,包括
最简单的if条件语句
if…else语句
然后呢再来做几道综合习题
来回顾一下之前学的内容
流程控制语句
先来看一下下面这张图
流行控制语句进行判断时只有两个结果:
- 是
- 否
在Python中我们通过布尔类型来表示是和否
布尔类型变量的定义方式和普通变量的定义方式是相同的
变量名称 = 布尔类型字面量
布尔类型不仅可以自行定义,也可以通过计算得来,也就是使用比较运算符进行比较运算来得到布尔类型的结果
选择语句
最简单的if条件语句
if 条件语句的本质含义就是:存在一个条件,如果这个条件成立,
那么就执行某些语句,否则不执行这些或执行其他语句
下面是if条件语句的流程图
if条件语句基本格式:
if condition:
语句1
语句2
…
例如:
age = 18
print(f"今年我已经{age}岁了")
if age >= 18:
print("我已经成年了")
print("即将步入大学生活")
print("时间过得真快")
上列代码就是一个非常简单的if条件语句,该语句的作用是
当age>=18时,会输出:
我今年已经成年了
即将步入大学生活
时间过得真快
这三句话
而age不满足>=18时,会输出:
时间过得真快
这一句话
在写if条件语句时,我们一定要注意注意:不要漏掉冒号,归属于if判断的代码语句块,需要在前方填充4个空格,其次在if这个单词后面需要有一个空格
Python是通过缩进判断代码块的归属关系的
下面来看两道例题
例题一:判断数正负
给定一个整数 n,判断其正负。如果 n>0,输出 positive;如果 n=0,
输出 zero;如果 n<0,输出 negative。
# 先用input语句从键盘读入一个整数n
n = int(input())
# 然后使用if条件语句来判断整数n的大小
if n > 0 :
print("positive")
if n = 0 :
print("zero")
if n < 0 :
print("negative")
在做这道题的时候,我们就看题看中有几个如果,那么我们就用几个if条件语句来判断
例题二:判断奇偶性
从键盘读入一个整数a,若a为偶数,则在屏幕上输出偶数
a = int(input())
if a % 2 == 0 :
print("偶数")
练习案例:成年人判断
结合前面学习的input语句,完成如下练习:
1、通过input语句,获取键盘输入,为age变量赋值(注意转换成数字类型)
2、通过if判断是否是成年人,满足条件则输出提示信息,如下:
print("欢迎来到欢乐谷,儿童免费,成人收费")
age = int(input("请输入你的年龄:"))
if age >= 18 :
print("您已成年,游玩需要补票10元")
print("祝您游玩愉快")
做这一题呢,根据题目,我们可以知道,首先需要一个引语,我们用print语句输出一下
然后是一句输入提示,这里我们运用了input输入语句的特点,可以自带输入提示
接着就是用if条件语句来判断是否成年,是否需要补票
最后print语句输入一句祝福语
这道题就搞定了
if...else语句
下面来学习if...else语句 先来看一下if...else语句的流程图在判断奇偶性题目中,若将题目改为,如果a是偶数,则输出偶数,如果a是奇数,则输出奇数,那就需要用到if–else语句来编写程序
# if--else语句基本结构
if 条件:
代码块A
else:
代码块B
那么判断奇偶性的题目就可以用if–else语句来改写
a = int(input())
if a % 2 == 0:
print("偶数")
else:
print("奇数")
if…else语句和if条件语句大差不差
下面我们通过练习来熟悉一下if…else语句的运用
练习案例:水仙花数
输入一个三位数 n,判断是否为水仙花数,如果是则输出“YES”,
不是则输出“NO”。水仙花数:是指一个 3 位数,它的每个位上的
数字的 3 次幂之和等于它本身。(例如:13 + 53 + 33 = 153)
(提示:可以运用整除运算符和取余运算符来获取每一位上的数字)
# 先读入一个三位数
n = int(input())
# 根据提示,提取出三位数每一位上的数字
a = n % 10
b = n // 10 % 10
c = n // 100
# 根据判断水仙花数的条件,来判断这个三位数n是否是水仙花数
if a**3 + b**3 + c**3 == n:
print("YES")
else:
print("NO")
习题
一、肥胖问题
题目描述
BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m h 2 \dfrac{m}{h^2} h2m,其中 m m m 是指体重(千克), h h h 是指身高(米)。不同体型范围与判定结果如下:
- 小于
18.5
18.5
18.5:体重过轻,输出
Underweight
; - 大于等于
18.5
18.5
18.5 且小于
24
24
24:正常体重,输出
Normal
; - 大于等于
24
24
24:肥胖,不仅要输出 BMI 值(使用
cout
的默认精度),然后换行,还要输出Overweight
;
现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。
对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 0 0 0,不要输出后缀 0 0 0。
请注意,保留六位有效数字不是保留六位小数。例如 123.4567 123.4567 123.4567 应该输出为 123.457 123.457 123.457, 5432.10 5432.10 5432.10 应该输出为 5432.1 5432.1 5432.1。
输入格式
共一行。
第一行,共 2 2 2 个浮点数, m , h m, h m,h,分别表示体重(单位为 kg),身高(单位为 m)。
输出格式
输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight
情况的特别处理请参照题目所述。
##样例 #1
样例输入 #1
70 1.72
样例输出 #1
Normal
样例 #2
样例输入 #2
100 1.68
样例输出 #2
35.4308
Overweight
提示
对于所有数据,40≤m≤120,1.4≤h≤2.0。m 和 h 的小数点后不超过三位。
# 先读入体重m和身高h
m = int(input())
h = float(input())
# 根据公式计算BMI值
bmi = m / h**2
# 判断BMI值在哪一范围内,并格局要求输出
if bmi < 18.5:
print("Underweight")
elif bmi < 24:
print("Normal")
else:
if int(bmi) == bmi:
print(int(bmi))
else:
print("%.6g" % bmi)
print("Overweight")
二、三位数排序
题目描述
给出三个整数 a , b , c ( 0 ≤ a , b , c ≤ 100 ) a,b,c(0\le a,b,c \le 100) a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序。
输入格式
输入三个整数 a , b , c a,b,c a,b,c,以空格隔开。
输出格式
输出一行,三个整数,表示从小到大排序后的结果。
样例 #1
样例输入 #1
1 14 5
样例输出 #1
1 5 14
样例 #2
样例输入 #2
2 2 2
样例输出 #2
2 2 2
# 读入三个整数a,b,c
a = int(input())
b = int(input())
c = int(input())
# 两两一组判断大小
if a > b :
t = a
a = b
b = t
if b > c :
t = b
b = c
c = t
if a > c :
t = a
a = c
c = a
print(a,b,c)
---------------------------------------------------------------------------------------End----------------------------------------------------------------------------------------