第二章 第4节 跳出重复
第6课知识总结
之前讲到while循环后面a<4是while循环的设定条件,只有满足条件时,循环才能执行。那这节课,我们来探究一下这个设定条件的True与False。
用数据做判断:布尔值
但是,if语句中的条件与while语句中的条件有区别:if语句中的条件只判断一次,while语句中的判断会一直循环执行.
这个“判断”的过程,在计算机中是如何运行的呢?
计算机的判断,只有两种结果,要么是True(条件为真), 要么为False(条件为假)。True与False叫做布尔值,这个判断真假的过程,叫做【布尔计算】。
print(3<6)
print(3>6)
print('北京'=='北京')
print('北京'=='首都')
print() 语句中的计算就是【布尔计算】,终端上要么显示True,要么显示False。
print(3<6)与print(3>6)这两句很简单啦,判断大小。
print(‘北京’==’北京’) 与 print(‘北京’==’首都’)这是比较字符串。两个字符串’北京‘相等,结果显示True, 拿‘北京’与‘首都’做对比,两个字符串不相等,但是用的是“==“号,所以,显示False
只有当条件为False时,if与while才会结束循环执行后面的语句。
while False:
print('我是Fasle,打印不出来')
你会发现终端里什么也不会打印。
这是因为while循环执行,必须要while后的条件为“真“,而【布尔值】False本身就为假,所以这个循环一次都不会执行。
while 3>6:
print('我是Fasle,打印不出来')
import time
while 3<6:
time.sleep(1)
print('打印出来')
我们做一个总结。
现在我们已经知道了什么是布尔值与布尔运算。接着我们来看一下布尔运算的三种形式
两个数值做比较
用两个数值做比较的【布尔运算】,主要包含以下情况:
这是几种在判断中常用的符号。
接下来看布尔运算的第二种方式:直接用数值做运算。
import time
while 1:
time.sleep(1)
print('首都')
你会发现,又陷入死循环了。
这段代码很怪,while后面的条件只写了一个数字1。
其实,在这里整数1是作为一个判断条件,被判断为真(True),这就是数值作为条件, 被判断真假的情况
下面小K送大家一个宝盒,bool()函数,bool()函数用来判断一个数据为真还是为假。有点和type()相似吧。
print('以下数据判断结果都是【真】:')
print(bool(True))
print(bool(10))
print(bool('xyz'))
print('以下数据判断结果都是【假】:')
print(bool(False))
print(bool(0))
print(bool(''))
print(bool(None))
下面,来看一下第三种情况。
布尔值之间的运算
你会接触到and、or、not、in、not in五种运算。
a = 5
b = -5
print('以下是and运算')
if a==5 and b==5: # 【b实际上是-5】
print('True')
else:
print('False')
print('以下是or运算')
if a==5 or b==5: # 【b实际上是-5】
print('True')
else:
print('False')
a==5 and b==5的意思是【a==5并且b==5】, 只有两个条件都为真的时候,才能判断为True。 而a==5 or b==5的意思是【a==5 或者 b==5】这两个条件只要满足其中一个,就判断为True。
x=6
y=-5
z=0
q=10
if x<y and z<q:
print('True')
else:
print('False')
接下来我们看一下not, not就是相反的意思。not False就是True, not True就是False。
最后,我们看一下【in】与【not in】
【in】的意思“判断一个元素是否在一堆数据之中”,【not in】相反。
你应该能直接看出,1在list中,10与0不在list中。
list = [1,2,3,4]
a = 1
b = 10
c = 0
print(bool(a in list))
print(bool(b in list))
print(bool(c in list))
到这里,我们学习了5种布尔值的运算方式。做个总结
好了,布尔值的运算学完了, 我们下面学习一下四种新的语句。
四种新语句
这四种新语句可以与循环搭配使用,能够让循环有不同的效果。
break语句
break语句的意思就是“打破”,在Python江湖中用来结束循环的。
for i in range(1,10):
if(i>5):
break
print(i)
x = 0
while x<10:
if(x>4):
break
x=x+1
print(x)
运行后,你会发现,本来for循环与while循环是可以从1打印到9的,结果由于break, 只能从1打印到5,这就是break的作用。在循环内使用,用来结束循环。
continue语句
break看完之后,再看一下continue语句。
continue的意思是“继续”。这个语句也是在循环内部使用的。当某个条件被满足的时候,触发continue语句,结束本次循环, 从下一次循环继续执行。
for i in range(1,11):
if i==5:
continue
print(i)
x = 0
while x<10:
x=x+1
if x==5:
continue
else:
print(x)
运行结束后,你会发现,两个循环中,都没有打印数字【5】,但是和break不同的是,数字【5】之后的内容都打印出来了。
这就是continue,它只能跳过本次的循环,但是这次之后的循环仍然会执行。
pass语句
pass很常见,就是我们理解的“跳过”。
age = int(input('请输入你的年龄:'))
if age >= 18:
pass
else:
print('你未成年,不得进入网吧')
这个代码的意思是:当age>=18的时候,跳过,什么都不做。其他情况age<18的时候,执行 print(‘你未成年,不得进入网吧’)语句。
pass语句就是占据一个位置“什么都不做”,满足我的条件,就跳过
else语句
else语句不仅能够在if语句中使用,还能够和循环搭配使用
for i in range(3):
num = int(input('请输入0结束循环,你有3次机会:'))
if num == 0:
print('你触发了break语句,导致else语句不会生效。')
break
else:
print('3次循环你都错过了,else语句生效了。')
num=0
while num<3:
n = int(input('请输入0结束循环,你有3次机会:'))
if n == 0:
print('你触发了break语句,导致else语句不会生效。')
break
num+=1
else:
print('3次循环你都错过了,else语句生效了。')
break、continue、pass、else都是和循环搭配使用的,也能够跳出循环。
知识总结
到这里,我们四种语句都学完了,做个总结。
课后练习
1. 老爷爷设定了一个密码7,如果葫芦娃兄弟猜对了奖励苹果,请补全代码。( 老爷爷在与葫芦娃兄弟玩一个小游戏,就是老爷爷在心里想好一个数,比如7,然后让葫芦娃兄弟猜。如果他猜的数比7小,告诉他“太小了”,如果他猜的数比7大,告诉他“太大了”。如果猜对了,给猜出来的葫芦娃一个苹果。 )
2. 写一个循环,从1,2,3循环到20开始打印;当遇到3的倍数时,直接跳过,继续打印下面内容。打印结果是【1,2,4,5,7,8,10,11,13,14,16,17,19,20】
0 条评论