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

学习笔记(6.21)

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

学习笔记(6.21)

今日学习概要
  • 运算符补充
  • 流程控制
今日学习内容
  • 运算符补充
  1. 逻辑运算符
    名称运算符基本使用说明
    与anda and b只有a和b的布尔值都为True时输出True,否则为False
    或ora or b只有a和b的布尔值都为False时输出False,否则为True
    非notnot a如果a的布尔值为True输出False,否则输出True
  • and运算符是从前往后判断的,只要有一个结果为False,程序就不会往后继续执行了
test = 1 == 1 and 3 > 9 and num
print(test)  # False,程序不会报错
  • 同理or运算符也是只要有一个结果为True,程序也不会继续往后执行了
test = 1 == 1 or 3 > 9 or num
print(test)  # True
  • 如果需要三个混合使用的话,需要加上小括号来区分优先级
  1. 成员运算符
运算符基本使用说明
in1 in [1, 2, 3]判断1是否在列表之中,如果在返回True
not in1 in [1, 2, 3]判断1是否不在列表中,如果在返回False
  • 用列表做成员判断时,列表中单个数据值就是最小单位,不能够在拆分
list_1 = ['beijing', 'shanghai', 'guangzhou']
print('beijing' in list_1)  # True
print('shanghai' in list_1)  # True
print('guang' in list_1)  # False
  • 字符串的最小单位就是单个字符,所以可以用一个字符,也可以使用多个字符(空格也算一个字符)
str_1 = 'beijing shanghai'
print('s' in str_1)  # True
print('gs' in str_1)  # False
print('g s' in str_1)  # True
  • 字典做成员运算的时候只能判断它的键(k),值(v)不参与运算
dict_1 = {'name': '张三', 'age': 22}
print('name' in dict_1)  # True
print(22 in dict_1)  # False
print('张三' in dict_1)  # False
  1. 身份运算
运算符基本使用说明
isa is b比较a与b的数据值在内存空间的地址,相同为True
is nota is not b比较a与b的数据值在内存空间的地址,相同为False
  • is 和比较运算符不同,比较运算符判断的只是数据值是否相同,而is判断内存地址是否一致,数据值相同内存地址可能不同,但内存地址相同数据值肯定相同
l1 = [111, 222, 333]
l2 = [111, 222, 333]
print(l1 == l2)  # True
print(l1 is l2)  # False
print(id(l1))  # 1976933396864
print(id(l2))  # 1976933242752
  • python对于小的数据有一个小数据池的内存优化机制,既把相同数据放在同一个内存空间
num1 = 20
num2 = 20
print(id(num1))  # 2561982884752
print(id(num2))  # 2561982884752
  • 流程控制
  1. 流程控制理论

流程控制控制的是事物的执行流程,事物的执行流程共三种:

  • 顺序结构:从上往下依次执行,我们平常写的代码都是顺序结构
  • 分支结构:根据判断的结果不同而执行不同的代码
  • 循环结构 :循环执行一段代码直到某个条件达成
  1. 流程控制之分支结构
  • 在python中写流程控制需要使用到关键字 if
    1. 单if分支

      if condition:  # if后加上判断条件,然后使用冒号结束判断语句
      	pass  # pass是占位、跳过的意思,这里代表条件成立后想要执行的代码
      

      在python中使用缩进来表示代码的从属关系,缩进前的叫做父代码,缩进后的叫做子代码,子代码能不能执行取决于父代码

      多行子代码需要保证在同一个缩进下

      缩进的数量并没有要求,不过一般建议使用四个空格既一个Tab

      判断的条件可以是一个,也可以是逻辑运算符链接起来的多个条件

    2. if…else分支

      if condition:
      	pass  # if条件成立执行的代码
      else:  
      	pass  # if条件不成立执行的代码
      

    3. if…elif…else
      这里可以使用多个elif

      if condition1:
      	pass  # 条件1成立执行的代码
      elif condition2:
      	pass  # 条件1不成立,条件2成立执行的代码
      elif condition3:
      	pass  # 条件1、2都不成立,条件3成立执行的代码
      else:
      	pass  # 上述条件都不成立执行的代码
      

      只有上一个条件判断为False才会判断下一个条件

      if elif else 它们之中只会走一条分支,结束之后又回到主程序

      elif 和 else 不能单独存在,必须要有if存在

    4. if 的嵌套使用

      if condition1:  # 第一次判断
      	if condition2:  # 第一次判断为True后才进行第二次判断
      		print('两次都成功了')  # 两次条件都为True才执行这一句
      	else:
      		print('第二次失败了')
      else:
      	print('第一次就失败了')
      

作业
# 1.女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨好
age = int(input('请输入年龄:'))
height = float(input('请输入身高(CM):'))
weight = float(input('请输入体重(KG):'))
looks = int(input('颜值在线请扣1:'))

if 22 > age >= 18 and height > 170 and weight < 50 and looks == 1:
    print('表白')

else:
    print('阿姨好')


# 2.根据用户输入内容打印其权限
"""
    jason --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
"""
user = input('请输入您的用户名:')
if user == 'jason':
    print('超极管理员')
elif user == 'tom':
    print('普通管理员')
elif user == 'jack' or user == 'rain':
    print('业务主管')
else:
    print('其他用户')


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


black_user_list = ['jason', 'kevin', 'tony']
white_user_dict = {'tom': 123, 'bruce': 321, 'duke': 666}
user = input('请输入用户名:')
if user not in black_user_list:
    password = int(input('请输入密码:'))
    if password == white_user_dict[user]:
        print('登录成功')
    else:
        print('密码错误')
else:
    print('拒绝访问')

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

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

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