布尔值和四种语句

2,020 阅读4分钟

布尔值和四种语句

用数据做判断:布尔值

计算机的逻辑判断,只有两种结果,就是True(英文意思是“真”)和False(英文意思是“假”),没有灰色地带。这个计算真假的过程,叫做【布尔运算】

1.1 两个数值做比较

while 3 < 5:
    print('while False')

陷入死循环,一直输出:while False
password = input('请输入密码:')

if password == 'abc':
    print('密码正确!')
else:
    print('密码错误!')
#->  请输入密码:abc
#->  密码正确!

1.2 直接用数值做运算

if 1:
    print('熊猫')
#->  熊猫

其实,整数1在这里就是作为一个条件,被判断为真(True)。这就是数值本身作为一个条件,被判断真假的情况

假的 其他都是真的
False True
0 5,1.0
'' 'fdf'
[] [1,2,3]
{} {1:'aa'}
None

1.3 布尔值之间的运算

and、or、not、in、not in

a = 1
b = -1

print('以下是and运算')
if a==1 and b==1:    # 【b实际上是-1】
    print('True')
else:
    print('False')

print('以下是or运算')
if a==1 or b==1:  # 【b实际上是-1】
    print('True')
else:
    print('False')

#->  以下是and运算
#->  False
#->  以下是or运算
#->  True

2. 四种新的语句

2.1 break语句

break是用来结束循环的,一般写作if...break

i = 0
while i<5:
    print('明日复明日')
    i = i+1
    if i==3:  # 当i等于3的时候触发
        break # 结束循环

#->  明日复明日
#->  明日复明日
#->  明日复明日

2.2 continue语句

continue的意思是“继续”。这个子句也是在循环内部使用的。当某个条件被满足的时候,触发continue语句,将跳过之后的代码,直接回到循环的开始

for i in range(5):
    print('明日复明日')
    if i==3:  # 当i等于3的时候触发
        continue # 回到循环开头
    print('这句话在i等于3的时候打印不出来')

# continue语句搭配while循环
i = 0
while i<5:
    print('明日复明日')
    i = i+1
    if i==3:  # 当i等于3的时候触发
        continue # 回到循环开头
    print('这句话在i等于3的时候打印不出来')

#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  明日复明日
#->  这句话在i等于3的时候打印不出来
#->  明日复明日
#->  这句话在i等于3的时候打印不出来

2.3 pass语句

pass语句就非常简单了,它的英文意思是“跳过”。

a = int(input('请输入一个整数:'))
if a > 100:
    pass
else:
    print('你输入了一个小于100的数字')

#->  请输入一个整数:20
#->  你输入了一个小于100的数字
#->  当输入的数字大于100时,程序无输出

2.4 else语句

最后一种else语句,我们在条件判断语句见过【else】,其实,else不但可以和if配合使用,它还能跟for循环和while循环配合使用。

for i in range(5):
    a = int(input('请输入0来结束循环,你有5次机会:'))
    if a == 0:
        print('你触发了break语句,循环结束,导致else语句不会生效。')    
        break
else:
    print('5次循环你都错过了,else语句生效了。')

#->  请输入0结束循环,你有5次机会:0
#->  你触发了break语句,导致else语句不会生效。
#->  当连续输入5次都不是0的时候,就会触发else语句

练习

secret = 24
for i in range(3):
    guess = input('guess which number is my secret:')
    if  int(guess) ==secret:
        print('正确!你很棒哦。')  #输出结果
        break
    elif int(guess)>secret:
        print('你猜的太大了,请重新猜猜~')
    else:
        print('你猜的太小了,请重新猜猜~')
else:
    print('给你3次机会都猜不到,你失败了。')