Python笔记02

121 阅读5分钟

2.判断语句与循环语句

  • Ture、False 关键字
  • 比较运算符
  • 逻辑运算符
  • if 判断
  • while 判断
  • break 与 continue 关键字
  • 循环中的 else

2.1 True 与 False

布尔类型只有两种结果

  • Ture:表示 '真' ,通俗的说表示 '成立'
  • False:表示 '假',通俗的说表示 '不成立'
have_money = True  # 定义一个变量存储布尔类型数据True
have_friends = False  # 定义了一个变量存储布尔类型数据False

作用:

因为布尔类型的数据只有2种结果,所以这种数据类型往往用在"判断"的场景。 简单示例如下:

have_money = True
if have_moeny:
    print("你有钱啊,是否有才华就不一定哦...")
else:
    print("是否有才华不一定,但一定没有钱,^_^...")

2.2 比较运算符

如果定义一个变量直接赋值为True或者False这种场景有,但有时我们需要让程序自己计算某个表达式,这个式子的结果是True或者False。这样,在配合上if或者while等应用就会显得更加灵活

比较运算符的分类

比较运算符描述示例
==检查两个操作数的值是否相等,如果是则条件变为真。如a=3,b=3,则a == b为True
!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3,则a != b为 True
<检查左操作数的值是否小于右操作数的值,如果是,则条件成立。如a=7,b=3,则a < b 为 False
>检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3,则a > b为 True
>=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3,则a >= b为 True
<=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。如a=3,b=3,则a <= b为 True

比较运算符的结果

比较运算符的结果一定是True或者False

100 > 50  # 结果就是True
100 < 50  # 结果就是False

2.3 逻辑运算符

引入

通过比较运算符我们知道,当比较数据大小、是否相等时,可以直接用>、<、==、!=、>=、<=来操作 但是,有很多时候不仅仅是简单的对比大小还有:并且、或者、不 举个例子: 成年并且女性 本科生或者研究生 不是18周岁以下学生 为了能够实现并且、或者、不,Python提供了逻辑运算符 and实现并且的功能 or实现或者的功能 not实现不的功能

并且`、`或者`、``是为了大家好理解,我给它们起的名字,但是专业术语中把它们称之为:``、``、`

逻辑运算符的简单使用

and 实现与的功能,通俗的说就是并且 一般的用法:两边都为True,结果才为True

100 > 50 and 90 < 200  # 100 > 50结果为True  90 < 200结果为True,就相当于 True and True 所以最后结果是True

or 实现或的功能,通俗的说就是或者 一般的用法:两边只要有一个True,结果就为True

100 > 50 or 90 > 200  # 100 > 50结果为True  90 > 200结果为False,就相当于 True or False 所以最后结果是True

not 实现非的功能,通俗的说就是不 一般的用法:之前结果为True,那么not True就是False,如果之前是False,那么not False就是True


not (100 > 50)  # 结果为False,本来100>50的结果是True,但前面加了not就相当于反义,所以最后结果为False
not (100 < 50)  # 结果为True, 本来100<50的结果是False, 但前面加了not其反义的作用,所以最后结果是True
逻辑运算符表达式描述实例
andx and y布尔"与":如果 x为False,x and y返回False,否则它返回 y 的值True and False, 返回False
orx or y布尔"或":如果 x 是True,它返回True,否则它返回 y 的值False or True, 返回True
notnot x布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 Truenot True 返回False, not False 返回 True

2.4 if 判断语句

基本使用

if是用来进行判断的,其使用格式如下:

#if 要判断的条件:
#    条件成立时,要做的事情
age = 30
print('----if判断开始----')
if age >= 18:
    print('已经成年了')  # 当前代码处有缩进 缩进为4个空格 一个Tab键
print('----if判断结束----')

注意:

  • if判断总体来说:当条件满足后就要做某些事情,这些事情以及if它们是一个整体
  • 如果if条件成立后,要做的事情有很多,那么都需要在行首缩进4个空格(只需要敲一个tag键,Pycharm就会自动换行为4个空格)
age = 30
print('----if判断开始----')
if age >= 18:
  	# 如果当前条件不成立则以下三句print都不会打印
    print('我已经成年了')
    print('我该懂事了')
    print('尽快学完python开发出去赚钱了')
print('----if判断结束----')  # 此处代码没有缩进 表示当前打印语句不在if语句控制范围之内,无论if条件是否成立都会执行

2.5 else 判断子句

if 条件:
    满足条件时要做的事情1
    满足条件时要做的事情2
    满足条件时要做的事情3
    ...(省略)...
else:
    不满足条件时要做的事情1
    不满足条件时要做的事情2
    不满足条件时要做的事情3
    ...(省略)...

2.6 elif 判断子句

if 条件1:
    事情1
elif 条件2:
    事情2
elif 条件3:
    事情3
# ...省略N个条件...
elif 条件n:
    事情n
else:
    以上条件都满足时执行的代码

2.7 if 嵌套

if 条件1:
    满足条件1时可以做的事情
    满足条件1时可以做的事情
    ...
    if 条件2:
        满足条件2时可以做的事情
        满足条件2时可以做的事情
        ...

2.8 if 代码案例


import random

player = input('请输入:剪刀(0)  石头(1)  布(2):')
player = int(player)

# 生成一个随机整数:0、1、2 中的某一个
computer = random.randint(0,2)

# 用来进行测试
#print('player=%d,computer=%d',(player,computer))

if ((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1)):
    print('获胜,哈哈,你太厉害了')
elif player == computer:
    print('平局,要不再来一局')
else:
    print('输了,不要走,洗洗手接着来,决战到天亮')

2.9 while 循环


# while 条件:
#     条件满足时,做的事情1
#     条件满足时,做的事情2
#     条件满足时,做的事情3
#     ...(省略)...
i = 0
while i < 10000:
    print(i)
    i += 1

2.10 while 循环应用

# 1. 计算1~100的累积和(包含1和100)
i = 1
sum_ret = 0
while i <= 100:
    sum_ret = sum_ret + i
    i += 1

print("1~100的累积和为:%d" % sum_ret)
# 2. 计算1~100之间偶数的累积和(包含1和100)
i = 1
sum_ret = 0
while i <= 100:
    if i % 2 == 0:
        sum_ret = sum_ret + i
    i += 1

print("1~100之间偶数和为:%d" % sum_ret)
# 3. 实现计算1~100之间能被3整除且能够7整除的所有数之和

i = 1
sum_ret = 0
while i <= 100:
    if i % 3 == 0 and i % 7 == 0:  # 在这里进行判断 是否是满足 被3整除且能够7整除
        sum_ret = sum_ret + i
    i += 1

print("1~100之间能被3整除且能够7整除的所有数之和:%d" % sum_ret)

2.11 while 循环嵌套

# while 条件1:
#     条件1满足时做的事情1
#     条件1满足时做的事情2
#     条件1满足时做的事情3
#     ...
#     while 条件2:
#         条件2满足时做的事情1
#         条件2满足时做的事情2
#         条件2满足时做的事情3
#         ...

注意:

  • while循环嵌套运行时的特点:每次外层循环执行1次,内层循环执行全部
  • while循环嵌套可以无限次的嵌套,但一般情况下不超过3层while循环嵌套
  • 当外层while条件不满足时表示整个while循环嵌套结束

2.12 for 循环

# for 临时变量 in 列表或者字符串等可迭代对象:
#     循环满足条件时执行的代码
for i in range(5):
    print(i)

2.13 break 与 continue

  • break,用来结束整个循环
  • continue,用来结束本次循环
# while 中使用 break
i = 0
while i<5:
    print('----')
    i = i+1
    break
    print(i)
  • break、continue只能用在循环中,除此以外不能单独使用
  • break、continue在嵌套循环中,只对最近的一层循环起作用
  • break能够立刻结束所在的循环
  • continue的用来结束本次循环,紧接着执行下一次的循环
  • 无论break放到while循环体中的任何位置,只要被执行一次,那么整个循环立刻结束

2.14 循环中的 else

i = 3
while i > 0:
    password = input("请输入密码:(还剩%d次机会)" % i)
    if password == "123456":
        print("密码输入正确")
        break
    i -= 1
login_flag = False  # 定义一个变量,用来存储是否登录成功,True表示成功 False表示不成功
i = 3
while i > 0:
    password = input("请输入密码:(还剩%d次机会)" % i)
    if password == "123456":
        login_flag = True  # 如果登录成功,那么这里就改为True
        break
    i -= 1

# 当上述的while循环结束后,判断login_flag的值,来输出对应的信息
if login_flag == True:  # 简单的写法是if login_flag:
    print("密码输入正确")
else:
    print("密码输入不正确,今日3次机会已用完,请明天再试...")
# while...else... 的使用方式
# while 条件:
    # 条件满足时执行的代码...
# else:
    # 如果上述的while循环没有调用break,就执行的代码...

    
i = 1
while i <= 3:
    print("这是一段测试信息...")
    if i == 1:
        print("调用了break")
        break
    i += 1
else:
    print("我是else中的代码")