python基础3_流程控制

  

一、条件

什么是条件?什么可以当做条件?为何要要用条件?

 第一大类:显示布尔值

第二大类:隐式布尔值,所有的值都可以当成条件去用
 其中0、None、空(空字符串、空列表、空字典) 代表的布尔值为False,其余都为真True

条件可以是:比较运算符
age = 18
print(age > 16)
条件可以是:True、False
is_beautiful = False
print(is_beautiful)

二、逻辑运算符

not、and、or的基本使用


not:就是把紧跟其后的那个条件结果取反
not与紧跟其后的那个条件是一个不可分割的整体


    print(not 16 > 13)
    print(not True)
    print(not False)
    print(not 10)
    print(not 0)
    print(not None)
    print(not '')

#and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真

 print(True and 5 > 1)

# 条件全为真,最终结果才为True
 print(True and 8 > 6 and 9 and 7) 

 # 偷懒原则
 print( 6 > 4  and 2 and 0 and 1 > 3 and 4 == 4 and 5!= 5) 

or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,
两个条件都为False的情况下,最终结果才为False

    print(5 > 3 or 0)
    # 偷懒原则
    print(8 > 103 or False or 6 != 3 or 5 > 4 or True)

优先级not>and>or

如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
如果是混用,则需要考虑优先级了

   res1 = 5 > 3 and not 6 > 5 or 3 == 2 and 'x' == 'x' or 4 > 4
    print(res1)
    res2 = (6 > 8 and (not 9 > 6)) or (1 == 3 and 'x' == 'x') or 5 > 5
    print(res2)


三、成员运算与身份运算

3.1成员运算符

# 判断一个字符串是否存在于一个大字符串中
 

   print("chinese" in "made in china")

# 判断一个字符串是否存在于一个大字符串中
print("a" in "made in china")

 # 判断元素是否存在于列表

print('fujian' in ['china', 'fujian', 'fuzhou'])

# 判断key是否存在于字典
 

 print("age1" in {"age1": 18, 'age2': 22})
 print('53' in {'num1': 53, 'num2': '55'})

# not in

#推荐使用 
print("china" not in "China.com")
print(not "Hi" in "hi china")

3.2身份运算符


# is 判断的是id是否相等

身份运算符用于比较两个对象的内存地址是否一致
是否是对同一个对象的引用
在Python中针对None比较时,建议使用is判断
is是判断两个标识符是不是引用同一个对象
is not是判断两个标识符是不是引用不同对象
is与==区别:
is用于判断 两个变量引用对象是否为同一个
==用于判断 引用变量的 是否相等

wordList = ['apple','orange','pear']
wordList2 = ['apple','orange','pear']

print(wordList is wordList2)
print(wordList == wordList2)


四、流程控制之if判断

流程控制之if判断
        if 条件1:
            代码块
        elif 条件2:
            代码块
        ………………
        else:
            代码块

语法1  if:


if  条件:
    代码1
    代码2
    代码3

    age = 37
    isMinor = True

    # 另外一种写法是if age>=18 and age<45
    if 18 < age < 45 and isMinor:
        print('青年人')
        print('再见')
        print('---------------')

    age = 5
    if isMinor or age < 18:
        print('未成年人')
        print('再见')



语法2  if else:


if 条件:
    代码1
    代码2
    代码3
else:
    代码1
    代码2
    代码3

if __name__ == '__main__':
    age = 5
    isMinor = True

    if age >= 18 and isMinor:
        print('成年人')
        print('再见')
       
    else:
        print('未成年人')
        print('再见')


print('退出系统')
print('exit')

 

  

语法3 if elif else:


语法3:
if 条件1:
    代码1
    代码2
    代码3

    代码4
elif 条件2:
    代码1
    代码2
    代码3
elif 条件3:
    代码1
    代码2
    代码3
...
else:
    代码1
    代码2
    代码3

 

    age1 = input('请输入您的年纪:')  # score="18"
    age1 = int(age1)

    if age1 > 69:
        print('老年人')
    elif 46 <= age1 <= 69:
        print('中年人')
    elif 18 <= age1 <= 45:
        print('青年人')
    else:
        print('未成年人')



语法4:if嵌套if

 

    year = '2021'
    schoolName = '福州大学'
    is_apply = True
    score = 583

    if score > 580 and schoolName == '福州大学' and is_apply:
        print('开始进入'+schoolName+'学习')
        is_graduated = True
        if is_graduated:
            print('祝你前程似锦,归来还是少年')
        else:
            print('继续努力学习')

    print('踏入职场')

五、流程控制之while循环

   循环之while循环

            循环的语法与基本使用
            死循环与效率问题

            循环的应用
            退出循环的两种方式
                条件
                while+break

            while循环嵌套
            while+continue
            while+else

 1、循环的语法与基本使用
 

while 条件:
     代码1
     代码2
     代码3

    sum5 = 0
    num = 1
    while num <= 5:

        print(num, end='')
        if num < 5:
            print('+', end='')
        else:
            print("=", end='')
        sum5 = sum5 + num
        num += 1

print(sum5)


2、死循环与效率问题

 

    while True:
        yesOrNo = input('是否继续 (y/n) ')
        print(yesOrNo)

  while 1:
        yesOrNo = input('是否继续 (n/y) ')
        print(yesOrNo)

 

    num1 = 0
    while num1 < 13:
        print(num1)
        num1 += 2

 

 

纯计算无io的死讯会导致致命的效率问题
while True:

while 1:
 

 3、循环的应用


username = 'dfa'
password = '123'

# 两个问题:
# 1、重复代码
# 2、输对了应该不用再重复
# while True:
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#     else:
#         print('账号名或密码错误')


# 4、退出循环的两种方式
# 方式一:将条件改为False,等到下次循环判断条件时才会生效
# tag=True
# while tag:
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#         tag = False # 之后的代码还会运行,下次循环判断条件时才生效
#     else:
#         print('账号名或密码错误')
#
#     # print('====end====')

# 方式二:break,只要运行到break就会立刻终止本层循环
# while True:
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#         break # 立刻终止本层循环
#     else:
#         print('账号名或密码错误')
#
#     # print('====end====')


# 7、while循环嵌套与结束
'''
tag=True
while tag:
    while tag:
        while tag:
            tag=False
    

# 每一层都必须配一个break
while True:
    while True:
        while True:
            break
        break
    break
'''
## break的方式
# while True:
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#         while True:
#             cmd=input("输入命令>: ")
#             if cmd == 'q':
#                 break
#             print('命令{x}正在运行'.format(x=cmd))
#         break # 立刻终止本层循环
#     else:
#         print('账号名或密码错误')
#
#     # print('====end====')

# # 改变条件的方式
# tag=True
# while tag:
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#         while tag:
#             cmd=input("输入命令>: ")
#             if cmd == 'q':
#                 tag=False
#             else:
#                 print('命令{x}正在运行'.format(x=cmd))
#     else:
#         print('账号名或密码错误')


# 8、while +continue:结束本次循环,直接进入下一次
# 强调:在continue之后添加同级代码毫无意义,因为永远无法运行
# count=0
# while count < 6:
#     if count == 4:
#         count+=1
#         continue
#         # count+=1 # 错误
#     print(count)
#     count+=1

# 9、while +else:针对break
# count=0
# while count < 6:
#     if count == 4:
#         count+=1
#         continue
#     print(count)
#     count+=1
# else:
#     print('else包含的代码会在while循环结束后,并且while循环是在没有被break打断的情况下正常结束的,才不会运行')

# count=0
# while count < 6:
#     if count == 4:
#         break
#     print(count)
#     count+=1
# else:
#     print('======>')


# 应用案列:
# 版本1:
# count=0
# tag=True
# while tag:
#     if count == 3:
#         print('输错三次退出')
#         break
#     inp_name=input('请输入您的账号:')
#     inp_pwd=input('请输入您的密码:')
#
#     if inp_name  == username and inp_pwd == password:
#         print('登录成功')
#         while tag:
#             cmd=input("输入命令>: ")
#             if cmd == 'q':
#                 tag=False
#             else:
#                 print('命令{x}正在运行'.format(x=cmd))
#     else:
#         print('账号名或密码错误')
#         count+=1

# 版本2:优化
count=0
while count < 3:
    inp_name=input('请输入您的账号:')
    inp_pwd=input('请输入您的密码:')

    if inp_name  == username and inp_pwd == password:
        print('登录成功')
        while True:
            cmd=input("输入命令>: ")
            if cmd == 'q': # 整个程序结束,退出所有while循环
                break
            else:
                print('命令{x}正在运行'.format(x=cmd))
        break
    else:
        print('账号名或密码错误')
        count+=1
else:
    print('输错3次,退出')
 

六、循环之for循环


            for循环的语法与基本使用
            for循环应用
            for循环嵌套
            for+break
            for+continue
            for+else

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

福海鑫森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值