栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

小白学python系列————【Day8】运算符及流程控制语法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小白学python系列————【Day8】运算符及流程控制语法

今日内容概要
  • 运算符补充
    1.逻辑运算
    2.成员运算
    3.身份运算
  • 流程控制理论
  • 流程控制详细语法
    1.顺序结构
    2.分支结构
    3.循环结构
运算符补充 逻辑运算符

and与or或not非

  • and

同时满足所有条件才能输出True
eg:1 == 1 and 2 > 1
如果1 ==2 and 3 > 1或者1 == 1 and 4 < 1
两者所输出值都为False

*代码展示:

# 正确(True)
print(1 == 1 and 2 < 10 and 3!=6 and True and 10 < 20)


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True

Process finished with exit code 0

# 错误(False)
print(1 == 1 and 2 > 10 and 3!=6 and True and 10 < 2)


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
False

Process finished with exit code 0

  • or

只要有一个条件满足就可输出Ture,同时所有条件都满足也可输出True
eg:1 == 1 or 2 > 1或者1 == 1 or 3 < 1
如果1 == 2 or 3 < 1 这类两边都不满足正确条件则输出值为False

*代码展示:

# 正确(True)
print(1 != 1 or 2==2 or False or 3 < 2 or 10 < 1)


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True

Process finished with exit code 0

# 错误(False)
print(1 != 1 or 2 != 2 or False or 3 < 2 or 10 < 1)


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
False

Process finished with exit code 0
  • not

讲条件去反,原条件正确则错误,原条件错误即正确。
not False
not True

*代码展示:

print(not True)
print(not False)




D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
False
True

Process finished with exit code 0
  • 注意事项

三者如果混用,要考虑到优先级!!!
可以像“加减乘除法”一样,加上小括号来保证优先级运算。

*代码展示:

print((3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 == 3))
# 小括号里面条件结果均为False,最后一个or右边条件满足True,即输出结果为True。


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True

Process finished with exit code 0
成员运算符
  • in

表示在什么什么之内

*代码展示:

# 列表在做成员最小单位为数据值整体,不可拆分不可合并!!!
name1 = ['jason','tony','kevin','ken']
print ('jason' in name1)
print('susan' in name1)

# 字符串在做成员运算时最小单位为单子字符,也可增加字符个数!!!
name2 = 'hello wold'
print ('h' in name2)
print ('hel' in name2)
print ('hello w' in name2)
# 字典在做成员运算时只有K值会参与运算,V值不暴露给外界!!!
name3 = {'name' : 'jason','age' : 18}
print ('jason' in name3)
print ('name' in name3)



D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True
False
True
True
True
False
True

Process finished with exit code 0
  • not in

表示不在什么什么之内

*代码展示:

name = ['tony','kevin','ken']
print ('jason' not in name)


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True

Process finished with exit code 0
身份运算符
  • is

判断数据值在内存中地址是否一致。

  • ==

判断数据值是否一致,不在乎内存中地址。

*代码展示:

l1 = [123,321,456,654]
l2 = [123,321,456,654]
print (l1 == l2)     # ‘==’只判断数据值,不针对内存地址
print (l1 is l2)     # 判断内存地址,不针对数据值
# id()   该方法会返回一串数字 相当于内存地址
print (id(l1))
print (id(l2))



D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
True
False
1373200792136
1373200792072

Process finished with exit code 0
  • 补充知识点

1.id() 该方法会返回一串数字,相当于内存地址。

name = ['jason','ken','kiven']
print(id(name))

D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
2303884737096

Process finished with exit code 0

2.python内存优化
对数据量比较小的数据进行内存优化:称小整数池
eg:l1 = 10
l2 = 10
print (id(l1)) # 1652649728
print (id(l2)) # 1652649728
IDE编写工具也会自行优化处理
eg:l1 = 99999999
l2 = 99999999
print(id(l1), id(l2))
#2702347382480
2702347382480

流程控制理论
  • 概念

    1.顺序结构:从上往下一次按顺序执行

2.分支结构:根据条件的不同执行不同的代码

3.循环结构:根据条件的判断绝对是否一直做某件事,不过循环结构有终止条件

  • 流程控制之分支结构
    1.单if 分支:

if 条件:
条件成立执行的代码称为子代码

*代码展示:

# 1.定义女人的年龄
age = 28
# 2.判断女人的年龄
if age < 30:
    print('小姐姐你好')


D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
小姐姐你好

Process finished with exit code 0


2.if …else分支

if 条件:
条件成立之后执行的代码
else:
条件不成立执行的子代码

*代码展示

# 1.获取用户名和密码
name = input('name>>>:')
pwd = input('pwd>>>:')
# 2.判断用户名和密码是否正确(目前只能写死)
# if name == 'jason' and pwd == 123: 
if name == 'jason' and pwd == '123':  # python中不同数据类型之间无法直接做比较
    print('贵宾一位')
else:
    print('请你离开')



D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
name>>>:jason
pwd>>>:123
贵宾一位

Process finished with exit code 0


3.if…elif…else分支(elif 和 else都不能单独使用 必须结合if)

if 条件1:
条件1成立执行的子代码
elif 条件2:
条件1不成立 条件2成立执行的子代码
elif 条件3:
条件1和2都不成立 条件3成立执行的子代码
else:
上述所有的条件都不成立执行的子代码

*代码展示:

score = 90
if score >= 90:
    print('优秀')
elif score >= 70:
    print('良好')
elif score >= 60:
    print('及格')
else:
    print('挂科')



D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
优秀

Process finished with exit code 0


4.if的嵌套使用
这里用代码展示if嵌套功能:

# 在街上遇到老熟人,上去交谈
# 交谈完毕后,和他一起去干饭(他可能有事拒绝,也可能接受)
# 如果接受了则继续KTV,泡脚,SPA
#1.定义出各种条件
is_talk = True
is_eat = True
is_agree = False
is_sing = True
#条件判断
if is_talk:
    print('开始交谈')
    if is_eat:
        print('要去干饭了,喝点小酒')
        if is_agree and True:
            print('该去KTV,泡脚了')
        else:
            print('不太好吧,害怕被发现')
    else:
        print('干嘛去吃饭啊,多没意思')
else:
    print('有事情,下次再聚')



D:Python36python36.exe "E:/pythonProject/Day04/03 fuxi.py"
开始交谈
要去干饭了,喝点小酒
不太好吧,害怕被发现

Process finished with exit code 0

  • 内容补充
    1.python中使用代码的缩进来表示代码的从属关系
    缩进的代码是否运行取决于上面没有缩进的父代码(结尾有冒号!!!)
    2.缩进量为了美观 一般推荐使用四个空格
    3.并不是所有的代码都可以拥有子代码
    if关键字 else关键字 elif关键字 ( elif else不能单独使用)
    4.同属于一个父代码的多行子代码应该保证相同的缩进量
    如果代码缩进了 那就必须往上找一个缩进量比它小的代码作为父代码
    这个父代码如果可以拥有子代码 那么没有问题 不可以则直接报错
    5.相同缩进量的代码彼此之间没有主次之分 都是按照顺序依次执行
作业一:

​ 女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨好。

# 作业一
age = input('请输入您的年龄>>:')
height = input('请输入您的身高>>:')
weight = input('请输入您的体重>>:')
guist = input('是否漂亮?')
age = int(age)
height = int(height)
weight = int(weight)
if (age >= 18 and age < 22 and height > 170 and weight < 100 and guist == '漂亮的'):
    print('表白')
else:
    print('阿姨好')
    
    
    
# 符合要求  
D:Python36python36.exe "E:/pythonProject/Day04/02 作业.py"
请输入您的年龄>>:19
请输入您的身高>>:178
请输入您的体重>>:98
是否漂亮?漂亮
阿姨好

Process finished with exit code 0
# 不符合要求
D:Python36python36.exe "E:/pythonProject/Day04/02 作业.py"
请输入您的年龄>>:15
请输入您的身高>>:156
请输入您的体重>>:130
是否漂亮?ugly
阿姨好

Process finished with exit code 0
作业二:

根据用户输入内容打印其权限
‘’’
jason --> 超级管理员
tom --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
‘’’

# 作业二
name = input('请输入您的姓名>>:')
if name == 'jason':
    print('超级管理员')
elif name == 'tom':
    print('普通管理员')
elif name == 'jack' or name =='rain':
    print('业务主管')
else:
    print('普通用户')
    
    
    
D:Python36python36.exe "E:/pythonProject/Day04/02 作业.py"
请输入您的姓名>>:jack
业务主管

Process finished with exit code 0
作业三:

编写用户登录程序
要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
eg:black_user_list = [‘jason’,‘kevin’,‘tony’]
如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
eg: oscar 123

# 作业三
name = input('name>>:')
black_user_list = ['jason','kevin','tony']
if name in black_user_list:
    print('您已被列入黑名单,拒绝登录')
else:
    pwd = input('pwd>>:')
    print('登录成功')

    
# 拒绝登录  
D:Python36python36.exe "E:/pythonProject/Day04/02 作业.py"
name>>:jason
您已被列入黑名单,拒绝登录

Process finished with exit code 0
# 允许登录
D:Python36python36.exe "E:/pythonProject/Day04/02 作业.py"
name>>:ken
pwd>>:12345
登录成功

Process finished with exit code 0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号