Python第七课:跳出循环

一、用数据做判断:布尔值

  • 计算机的判断,只有两种结果,要么是True(条件为真), 要么为False(条件为假)。
  • True与False叫做布尔值,这个判断真假的过程,叫做【布尔计算】。
>>> print(3<6)
True
>>> print(3>6)
False
>>> print('北京'=='北京')
True
>>> print('北京'=='首都')
False
>>> 
  • print() 语句中的计算就是【布尔计算】,终端上要么显示True,要么显示False。
  • 只有当条件为False时,if与while才会结束循环执行后面的语句。
while False:
    print('我是Fasle,打印不出来')

# 因为条件为False,终端中什么都不会打印

点击关闭图片

二、布尔运算的三种方式

1、两个数值做比较。主要包含以下情况:

点击关闭图片

2、直接用数值做计算

在Python江湖中已经设定好什么数据为真,什么数据为假。假的是有限的,那么除了假的,就都是真的。

点击关闭图片

if '开心':
    print('北京')
if 0:
    print('首都')
# 请阅读代码后再直接运行

print('以下数据判断结果都是【真】:')
print(bool(True))
print(bool(10))
print(bool('xyz'))

print('以下数据判断结果都是【假】:')
print(bool(False))
print(bool(0))
print(bool(''))
print(bool(None))
if '开心':
    print('北京')
if 0:
    print('首都')
  • bool()函数

    >>> print(bool(True))
    				 
    True
    >>> print(bool(10))
    				 
    True
    >>> print(bool('xyz'))
    				 
    True
    >>> 
    
    # 分割线=====================================================================
    >>> print(bool(False))
    				 
    False
    >>> print(bool(''))
    				 
    False
    >>> print(bool(0))
    				 
    False
    >>> print(bool(None))
    				 
    False
    >>> 
    
3、布尔值之间的计算
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')
# 输出结果如下:
# 以下是and运算:
# False
# 以下是or运算:
# True 
  • and

点击关闭图片

  • or

点击关闭图片

x=6
y=-5
z=0
q=10

if x<y and z<q:
    print('True')
else:
    print('False')
    
# 输出结果:False
  • not

  • in 和 not in

    【in】的意思“判断一个元素是否在一堆数据之中”,【not in】相反。

    list = [1,2,3,4,5]
    
    a =1
    b =10
    c =0
    
    print(bool(a in list))
    print(bool(b in list))
    print(bool(c in list))
    
    '''
    True
    False
    False
    '''
    
4、布尔值运算小结

点击关闭图片

点击关闭图片

点击关闭图片

三、与循环搭配使用的四种语句

1、break语句
for i in range(1,10):
    if i>5:
        break
    print(i)
    
​```输出结果:
1
2
3
4
5
​```

x=0

while x<10:
    if x>4:
        break
    x=x+1
    print(x)

​```输出结果:
1
2
3
4
5
  • 本来for循环与while循环是可以从1打印到10的,结果由于break, 只能从1打印到5,这就是break的作用。在循环内使用,用来结束循环。
2、continue语句
  • 这个语句也是在循环内部使用的。当某个条件被满足的时候,触发continue语句,结束本次循环, 从下一次循环继续执行。
for i in range(1,10):
    if i==5:
        continue
    print(i)
    
​```输出结果:
1
2
3
4
6
7
8
9
···

x=0

while x<10:
    x=x+1
    if x==5:
        continue
    print(x)
    
​```输出结果:
1
2
3
4
6
7
8
9
10
​```
3、pass语句
  • 就是理解中的”跳过"的意思。
age = int(input('请输入你的年龄:'))

    if age >=18:
        pass
    else:
        print('未满十八岁,不得进入网吧')
  • 以上代码的意思:当age>=18的时候,跳过,什么都不做。其他情况age<18的时候,执行 print(‘你未成年,不得进入网吧’)语句。

  • pass语句就是占据一个位置“什么都不做”,满足我的条件,就跳过。通常用于代码还没构思好时,用来占位置使用的。

4、 else语句
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:
    x = int(input('请输入0结束循环,你有3次机会:'))
    if x ==0:
        print('你触发了break语句,导致else语句不会发生了')
        break
    num=num+1
else:
    print('你三次机会都用完了,触发了else语句')

  • 以上代码,可以做两种尝试:1、连续3次不输入0; 2、输入一次0跳出循环
  • 当循环正常执行完毕(没有碰到break),就执行else语句
5、四种语句小结

点击关闭图片

四、知识点回顾

  • 计算机用数据做判断的过程

img

  • 比较运算符

img

  • Python中的真假判断

img

  • 两个数值做比较

img

  • 直接用数值运算

img

  • 布尔值之间的运算

img

  • break continue pass else语句

img

五、其他补充:exit()、return

  • exit():退出整个循环,无论有多少层循环,全部退出。
  • return:结束函数,返回参数(需要注意的是,当执行return之后,函数return之后的语句将不会再继续执行下去,而是返回第一个循环的值)
    各个跳出循环的示例详见如下代码
# pass示例
for i in range(5):
    print(i)
    pass
    print(i*2)
    print()

输出结果如下:
0
0

1
2

2
4

3
6

4
8

# return示例
def run():
    for i in range(5):
        print(i)
        return i
        print(i*2)
        print()

run()

# 输出结果如下:
0

# continue示例
def run():
    for i in range(5):
        print(i)
        continue
        print(i*2)
        print()

run()

# 输出结果如下:
0
1
2
3
4

# break示例
def run():
    for i in range(5):
        print(i)
        break
        print(i*2)
        print()

run()

# 输出结果如下:
0

# break示例
def run():
    for i in range(5):
        print(i)
        exit()
        print(i*2)
        print()

run()

# 输出结果如下(exit()以上的代码执行完后,退出了所有循环):
0

六、练习

  1. 老爷爷在与葫芦娃兄弟玩一个小游戏,就是老爷爷在心里想好一个数,比如7,然后让葫芦娃兄弟猜。如果他猜的数比7小,告诉他“太小了”,如果他猜的数比7大,告诉他“太大了”。如果猜对了,给猜出来的葫芦娃一个苹果。
# 设定秘密数字
num = 7

# 设置循环
while True:
    # 设置输入的内容
    guess = int(input('小葫芦,你们猜猜数字是多少:'))

    # 当输入的内容等于秘密数字时,打印正确,并中止循环
    if guess == num:
        print('BINGO,你猜对了!给你一个苹果!')
        break

    # 当输入的内容大于秘密数字时,打印提示:太大了
    elif guess > num:
        print('你猜得太大了,再重新猜一猜~')

    # 当输入的内容小鱼秘密数字时,打印提示:太小了
    elif guess < num:
        print('你猜得太小了,再重新猜一猜~')

  1. 大家在酒桌上玩游戏,从1开始数数,凡是3的倍数,都要跳过去,不说话。

    写一个循环,从1,2,3循环到20开始打印;当遇到3的倍数时,直接跳过,继续打印下面内容。打印结果是【1,2,4,5,7,8,10,11,13,14,16,17,19,20】

# 设定1-20的数字循环
for num in range(1,21):

    # 当数字是3的倍数时,跳过去
    if num%3==0:
        continue

    # 当数字不是3的倍数时,打印出来
    else:
        print(num)
# 分割线=======================================================
# 设定1-20的数字循环
num = 0

while num <=20:
    num=num+1
    # 当数字是3的倍数时,跳过去
    if num%3==0:
        continue

    # 当数字不是3的倍数时,打印出来
    else:
        print(num)
发布了15 篇原创文章 · 获赞 0 · 访问量 255

猜你喜欢

转载自blog.csdn.net/fightingoyo/article/details/104009334