第二章 第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 条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注