ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python课堂整理day07

2022-06-21 22:05:32  阅读:154  来源: 互联网

标签:name python 代码 day07 else l1 print 课堂 True


今日内容概要

  • 运算符补充
  • 流程控制理论
  • 流程控制详细语法(很重要!)

今日内容详细

知识补充

输入输出在python2和python3中的区别

1.输入的区别

python3只有一个input(),并且都转成字符串类型
python2有两个获取用户输入的方式
1.input()输入的数据必须自己加上数据的特征,输啥就是啥

   name = input('name>>>:')
   name>>>:123
   >>> type(name)
   <type 'int'>

还能够识别一些简单的代码(了解即可)
2.raw_input() 等价于python3里面的input,接收的数据都会转成字符串

2.输出的区别

python3只有print()一种用法
python2有两种用法 print print()

运算符补充

1.逻辑运算符

1.逻辑运算符

and 与
or 或
not 非
上述三个运算符都是用来配合条件一起使用
and链接的多个条件必须都成立结果才成立(True),两个为真才为真
or链接的多个条件有一个成立结果就成立(True),两个为假才为假
not将条件取反(原本是对的就变成错的,如果是错的多就变成对的),真变假,假变真

2.实战演练

1.and
1 == 1 and 2 > 10 and 3 != 6 and true and 10 < 2
如果所有的连接符号都是and,那么判断的时候非常简单,只要有一个不符合,后面都不需要再看,结果肯定不成立

举例
print(2>0 and 5>0)
print(2>0 and 5<0)
print(2<0 and 5>0)
print(2<0 and 5<0)
终端输出
True
False
False
False

记忆口诀:两个为真才为真
2.or

1 != 1 or 2==2 or  false or 3 < 2 or 10 < 1

如果所有的连接符号都是or,那么判断的时候非常简单,只要有一个符合,后面也不用看了,结果肯定成立

举例
print(2>0 or 5>0)
print(2>0 or 5<0)
print(2<0 or 5>0)
print(2<0 or 5<0)
终端输出
True
True
True
False

记忆口诀:两个为假才为假
3.not

举例
print(not True)
print(not False)
终端输出
False
True

记忆口诀:真变假,假变真

3.注意事项

三者如果混合使用,其实是有优先级的!

3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3  # 不合理的编写方式

如果要三者混合使用,那么应该加上括号来区别优先级

(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)  # 合理

2.成员运算符

1.成员运算符

in 在什么什么之内
not in 不在什么什么之内

2.实战演练

    l1 = ['jason', 'kevin', 'tony',     'oscar', 'jerry']
    # 判断某个人名在不在班级学生名单中(判断某个个体在不在某个群体内)
    print('jason' in l1)  # True
    print('ja' in l1)  # False
    print('jason kevin' in l1)  # False
    '''列表在做成员运算的时候最小单位是数据值整体 不能再拆分也不能合并'''

    s1 = 'hello big baby!'
    print('h' in s1)  # True
    print('he' in s1)  # True
    print('hell' in s1)  # True
    print('hello' in s1)  # True
    '''字符串在做成员运算的时候最小单位是单个字符 也可以增加字符个数'''

    d1 = {'name': 'jason', 'pwd': 123}
    print('jason' in d1)  # False
    print(123 in d1)  # False
    print('name' in d1)  # True
    print('pwd' in d1)  # True
    '''字典在做成员运算的时候只有K会参与运算 V默认不暴露给外界'''

not in是in的逆运算,其使用语法与in类似,只是结果相反

3.身份运算

1.身份运算

is 判断数据值的内存地址是否一致
== 判断数据值得值是否一致,地址无所谓

2.知识储备

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

3.实战演练

    l1 = [11, 22, 33, 44]
    l2 = [11, 22, 33, 44]
    print(id(l1))  # 2768135836544
    print(id(l2))  # 2768135831424
    print(l1 == l2)  # True  只判断值
    print(l1 is l2)  # False 判断内存地址

值相等 内存地址可能不等
内存地址相等 值肯定相等(单次程序中)

4.python内存优化

    # l1 = 10
    # l2 = 10
    # print(id(l1))  # 140707857893312
    # print(id(l2))  # 140707857893312
    """python针对数据量比较小的并且经常使用的数据会做内存优化:小整数池"""
    l1 = 9999999
    l2 = 9999999
    print(id(l1), id(l2))  # 1271940823728 1271940823728
    """有时候IDE编辑工具也会做更多的优化处理(上述代码使用解释器直接运行 地址不一样)"""

流程控制理论

流程控制的概念
本质就是事物的执行流程,事物的执行流程总共就三种
1.顺序结构:就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码
2.分支结构:就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码
3.循环结构:就是让程序“杀个回马枪”,不断地重复执行同一段代码
image

储备知识

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

流程控制之分支结构

在python中如果想要编写分支结构,那么需要使用关键字if
image

1.单if分支

if条件:条件成立执行执行的代码(子代码)
条件可以是布尔值,也可以是表达式
判断的条件可以是一个,也可以是由逻辑运算符连接的多个

实战演练

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

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('没钱滚蛋')

3.if...elif...else分支

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

if elif else三者连用,永远只会走一个分支
elif 和 else都不能单独使用,必须结合if
score = int(input('请输入学生的成绩:'))
   #input获取的都是字符串,做类型转换
if score/100 >= 90:
    print('好学生')
elif score/100 >=80:
    print('中等生')
elif score/100 >=60:
    print('中下等学生')
else:
    print('差学生')

4.if的嵌套使用

在大街上看到一个漂亮的背影 上去要微信
如果要微信成功了 则邀请她去看电影(她可能拒绝 也可能接受)
如果接受了则继续吃饭 逛街 等待天黑!!!
  1.先定义出各种条件
    is_wechat = True
    is_movie = True
    is_agree = False
    is_xxx = True
  2.条件判断
    if is_wechat:
        print('要微信成功了')
        if is_movie:
            print('要去看电影了 找个后排座位 视野好')
            if is_agree and True:
                print('吃饭 逛街 天黑了!!!')
            else:
                print('你个臭流氓!!!')
        else:
            print('看电影多无聊!!!')
    else:
        print('你个癞蛤蟆!!!')

作业1

image

image

image

作业2

image

image

image

作业3

image

image

image

标签:name,python,代码,day07,else,l1,print,课堂,True
来源: https://www.cnblogs.com/wanjinalei/p/16398518.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有