判断语句介绍(掌握)if判断语句(掌握)比较(即关系,条件)运算符(掌握)if-else判断语句(掌握)if...elif...else...语句格式(掌握)if语句嵌套(掌握)循环语句介绍while循环(掌握)while循环应用while循环嵌套for循环(掌握)break和continue(掌握)总结
判断语句介绍(掌握)
生活中的判断场景
地铁安检
上网吧
密码判断
小总结:
如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这就是所谓的判断。
不仅生活中有,在软件开发中"判断"功能也经常会用到。
if判断语句基本格式介绍
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件: 条件成立时,要做的事情
演示、案例
age = 30
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
运行结果:
------if判断开始------
我已经成年了
------if判断结束------
演示、案例
age = 16
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
运行结果:
------if判断开始------
------if判断结束------
案例
不转换数据类型进行不了比较,程序会报错。
小总结:
以上3个案例仅仅是age变量的值不一样,和转换数据类型导致结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行代码块语句,否则就不执行代码块语句。
注意:转换数据类型,代码的缩进为一个tab键,或者4个空格。
python中的比较运算符如下表
案例
>>> ## 关系运算符
...
>>> # == 等于:表示左右两个操作数是否相等,如果相等则整个表达式的值为 True;不相等则为False
... num1 = 15
>>> num2 = 20
>>>
>>> print(num1 == num2)
False
>>>
>>> # != 不等于
... print(num1 != num2)
True
>>>
>>> # > 大于
... print(num1 > num2)
False
>>>
>>> # < 小于
... print(num1 < num2)
True
>>>
>>> # >= 大于等于: num1 大于 或者 等于 num2 ,条件都成立
... print(num1 >= num2)
False
>>>
>>> # <= 小于等于: num1 小于 或者 等于 num2 ,条件都成立
... print(num1 <= num2)
True
>>>
>>> if num1 >= num2:
... print("条件成立!")
...
>>>
逻辑运算符
案例
>>> ## 逻辑运算符
...
>>> # and : 左右表达式都为True,整个表达式结果才为 True
... if (1 == 1) and (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # or : 左右表达式有一个为True,整个表达式结果就为 True
... if (1 == 2) or (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # not:将右边表达式的逻辑结果取反,Ture变为False,False变为True
... if not (1 == 2):
... print("条件成立!")
...
条件成立!
>>>
这里不再进行详解。
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
if-else的使用格式
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
案例1
chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print("有车票,可以上火车")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有车票,不能上车")
print("亲爱的,那就下次见了")
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上车
亲爱的,那就下次见了
案例2
# 1. 通过用户键盘输入,获取年龄 input()
age = input('请输入你的年龄:') # str
# 需要将字符串类型的的age, 转换为 int类型的age
age = int(age) # int
# 2. 判断年龄是否满足18岁,满足输出`哥18岁了,可以进入网吧为所欲为了`
if age >= 18:
# 条件满足才会执行
print('哥18岁了,可以进入网吧')
else:
# 判断条件不满足,会执行的代码
print('不满18岁,回去好好学习吧,少年!!!')
# 3. 程序最后输出,`if 判断结束`(不管是否满足,都会输出)
print('if 判断结束')
结果1满足(可以进入网吧)
结果2不满足(不可以进入网吧)
总结:如果条件满足,执行满足条件的代码,负责条件不满足,执行条件不满足代码,注意代码的缩进。
if…elif…else…语句的判断条件可以用当判断条件为多个值时,可以使用以下形式:
if能完成当xxx时做事情
if-else能完成当xxx时做事情1,否则做事情2
如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?
答:
elif
elif的功能
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
案例
score = 77
if score>=90 and score<=100:
print('本次考试,等级为A')
elif score>=80 and score<90:
print('本次考试,等级为B')
elif score>=70 and score<80:
print('本次考试,等级为C')
elif score>=60 and score<70:
print('本次考试,等级为D')
elif score>=0 and score<60:
print('本次考试,等级为E')
案例
注意点
可以和else一起使用,如上面案例多条件判断,如果三个条件都不满足,成绩就是不合格。
elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用
if语句嵌套(掌握)
通过学习if的基本用法,已经知道了
当需要满足条件去做事情的这种情况需要使用if
当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:
if嵌套
if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
说明
外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
if嵌套的应用
chepiao = 1 # 用1代表有车票,0代表没有车票
dao_lenght = 9 # 刀子的长度,单位为cm
if chepiao == 1:
print("有车票,可以进站")
if dao_lenght < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了")
结果1:chepiao = 1;dao_lenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:chepiao = 1;dao_lenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chepiao = 0;dao_lenght = 9
没有车票,不能进站
亲爱的,那就下次见了
结果4:chepiao = 0;dao_lenght = 20
没有车票,不能进站
亲爱的,那就下次见了
想一想:为什么结果3和结果4相同???
案例2,输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
# 假设 money 大于等于2 可以上车
money = int(input('请输入你拥有的零钱:'))
# 1. 有钱可以上车
if money >= 2:
print('我上车了')
# 假设 seat 大于等于1,就可以坐
seat = int(input('车上的空位个数:'))
# 3. 有空座位,可以坐
if seat >= 1:
print('有座位坐')
else:
# 4. 没有空座位,就站着
print('没有座位,只能站着')
else:
# 2. 没钱不能上车,走路
print('没钱,我只能走路')
结果一,这里我输入的零钱为4,满足条件一,我们的零钱大于或等于2就可以上车,上车后我输入有一个座位,满足条件2,有位置坐下。
结果二,这里我输入的零钱为4,满足条件一,我们的零钱大于或等于2就可以上车,上车后我输入有0座位,不满足条件2,没位置坐下,只能站着。
结果三,我们没有零钱上车,条件不满足,我上不了车。
总结:
上述if语句嵌套的格式中,先判断外层if语句中条件表达式1的结果是否为True,如果结果为True,那么执行代码块1,再判断内层if的条件表达式2的结果是否为True,如果条件表达式2的结果为True,那么执行代码块2。
循环语句介绍
生活中的循环场景
跑道
软件开发中循环的使用场景
跟朋友承认错误,说一万遍"我错了"
print("我错了")
print("我错了")
print("我错了")
...(还有99997遍)...
使用循环语句一句话搞定
i = 0
while i < 10000:
print("我错了")
i += 1
小总结
while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
while循环(掌握)
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
练习题:跑圈打印5次
# 使用循环解决跑圈问题
# 1. 记录已经跑了多少圈
i = 0
# 3. 书写循环,判断是否满足条件
while i < 5:
print('操场跑圈中.....')
# 2. 跑了一圈之后,记录的圈数加1
i += 1
print('跑圈完成')
实现
死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!
while循环应用
计算1~100的累加和(包含1和100)
参考代码如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累加和为:%d" % sum)
实现:
计算1~100之间偶数的累加和(包含1和100)
参考代码如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累加和为:%d" % sum)
实现
总之还有很多的应用,后面慢慢了解吧。
while循环嵌套
前面学习过if的嵌套了,想一想if嵌套是什么样子的?
类似if的嵌套,while嵌套就是:while里面还有while
1, while嵌套的格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
while循环示例:
# 操场跑圈 一共需要跑5圈
# 每跑一圈,需要做3个俯卧撑,
# 1. 定义变量记录跑的圈数
i = 0
while i < 5:
# 2. 定义变量, 记录每一圈做了多少个俯卧撑
j = 0
# 3. 操场跑圈
print('操场跑圈中.....')
# 4. 做俯卧撑
while j < 3:
print('做了一个俯卧撑')
j += 1
# 一圈完整了,圈数加1
i += 1
实现。每跑一圈,做三个俯卧撑。
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
例如
name = 'itheima'
for x in name:
print(x)
结果
i t h e i m a
案例1
name = "hello"
for x in name:
print(x)
if x == 'l':
print("Hello world!")
运行结果如下
h e l Hello world! l Hello world! o
案例2
# range(5) 在python就业班中进行讲解会牵扯到迭代器的知识,
# 作为刚开始学习python的我们,此阶段仅仅知道range(5)表示可以循环5次即可
for i in range(5):
print(i)
'''
效果等同于 while 循环的:
i = 0
while i < 5:
print(i)
i += 1
'''
运行结果如下
0 1 2 3 4
for循环的应用
for i in 'hello':
# i 一次循环是字符串中的一个字符
print(i)
# range(n) 会生成 [0, n) 的数据序列, 不包含n
for i in range(5): # 0 1 2 3 4
# print(i)
print('操场跑圈...')
# range(a, b) 会生成 [a, b) 的整数序列, 不包含b
for i in range(3, 7): # 3 4 5 6
print(i)
# range(a, b, step) 会生成[a, b) 的整数序列,但是每个数字之间的间隔(步长)是step
for i in range(1, 10, 3): # 1 4 7
print(i)
结果
h e l l o 操场跑圈... 操场跑圈... 操场跑圈... 操场跑圈... 操场跑圈... 3 4 5 6 1 4 7
多多练习才是唯一。
1,break
<1> for循环
接下来操作一下吧
# 有五个苹果
# 1. 吃了三个苹果之后, 吃饱了.后续的苹果不吃了
# 2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果
for i in range(1, 6):
if i == 4:
print('吃饱了, 不吃了')
break # 终止循环的执行
print(f'正在吃标号为 {i} 的苹果')
运行结果
小结:
break的作用:立刻结束break所在的循环
2,continue
带有continue的循环示例如下:
# 有五个苹果
# 2. 吃了三个苹果之后.在吃第四个苹果,发现了半条虫子,这个苹果不吃了,还要吃剩下的苹果
for i in range(1, 6):
if i == 4:
print('发现半条虫子,这个苹果不吃了, 没吃饱,继续吃剩下的')
continue # 会结束本次循环,继续下一次循环
print(f'吃了编号为{i}的苹果')
代码实现
小结:
continue的作用:用来结束本次循环,紧接着执行下一次的循环
注意点
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用
人生苦短,我用python。
对于Python新手,在刚开始学习Python的时候,总会遇到这样的一个问题:学习了相关教程,也明白相关的规则,但是给出一个功能,却无从下手,不知道怎么去实现,或者知道怎么去实现,就是写不出来,这个问题该如何解决呢?
我的方法是在网上找一些项目进行练习,多看多练多总结,就能熟练掌握Python,形成更优化的Python思路。



