Python教程

学习python-Day07

本文主要是介绍学习python-Day07,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

昨日内容大概

  1. 数据类型(剩下5个)

    • 数据类型之列表(list)

      1. 中括号,中括号能够存储多个数据,方便数据值的获取,且数据间用逗号隔开,数据值为任意的数据类型。

      2. 索引取值:通常情况下是从0开始数,生活中我们是以1开始数。

        索引超出范围会报错。因为在取索引的时候列表里面没有元素了或者不够,那这样自然取不出来了,会报告说超出界限。

    • 数据类型之字典(dict)

      1. 大括号,大括号内能够存储多个数据,数据值的表现形式是K:V键值对。

      2. K是对V数据具有描述性性质的信息。

        V是具体真实的数据值信息,V可以为任意的数据类型。

      3. 按K取值:因为字典是无序性,所以不支持用索引取值。而是用按K取值。

        如果K不存在,则会报错!!!就是说字典中没有“K”这个信息,则会出错。

    • 数据类型之布尔值(bool)

      1. 判断事物的可行性

      2. 有两种状态:True

        ​ False

      3. 命名规律:以is开头 eg:is_right

        ​ isleft

      4. 在实际项目中数据库存储数据的特征,用一个字段来表示数据是否删除。

    • 数据类型之元组(tuple)

      1. 被称为不可改变的列表,用小括号包含多个数据,

        eg:list1 =[1, 2, 3]

        ​ tuple1 = [1, 2, 3]

        list1[0] = 'w' # 打印出[w, 2, 3]

        tuple[0] = 'w' # 打印会出错。

    • 数据类型之集合(set)

      1. 大括号包含数据值,符号和字典一样,但是内部构造不一样。

      2. 对于定义空集合是不一样的

        • 不能直接 s = { }

          这样显示的数据类型是字典(dict)型

        • 需要加个关键字set

          s = set( ) 这样出来的数据类型是集合。

  2. 与用户交互

    • 输入:外界向计算机传递信息。

      1. name = input( "输入信息:")

      2. input获取用户输入的值的数据类型都是字符串型(str)

        所有数据需要强制的转换数据类型。

        eg:num = input("输入数字:")

        ​ num = 123

        ​ num = int(num)

    • 输出:计算机向外界传达信息。

      1. 可一次性打印内部多个数据值。
      2. 指定参数 end='\r\n #换行符
  3. 格式化输出

    1. 提前准备好一些文本,之后格式化输出并替换其中一些内容。

    2. %s:能够给所有数据类型占位。

      'name %s' % 'xx'

      'name: %s,age:%s'%('xx',12)

      'name:%s'%('xx', )

    3. %d:只能给数字占位。

      产生固定位数的数据:

      ​ eg:print('%05d',23) #00023

      固定规定为5位数,不够需在前面补0

  4. 运算符

    • 算数运算符
    • 比较运算符
  5. 赋值符

    • 链式赋值

      x = y = z

    • 交叉赋值

      • 方式一:中间变量

      • 方式二:n, m = m, n

    • 解压赋值

      1. 符号左边至少有两个以上的名字
      2. 必须保证左边的名字和右边的数据值个数一样
      3. 特殊情况下,可以用*,当解压的数据多时会自动讲多余的数据值赋值给后面变量名。

今日内容大概

  • 运算符(补充剩下3种)

    1. 逻辑运算

    2. 成员运算

    3. 身份运算

  • 流程控制理论

  • 流程控制详细语法

    1. 顺序结构
    2. 分支结构
    3. 循环结构

今日内容详细

运算符

  1. 逻辑运算符

    1.and 与    or或    not非
      上述运算符需要配合条件使用。
      and链接的多个条件必须都成立才能成立(True)
      or链接的多个条件有一个成立就成立(True)
      not 条件取反
    2.操作方法:
        1 == 1 and 2 > 10 and 3!=6 
        如果所有连接符都是and,则需要找出一个不符合要求,判断错误的条件就能判断结果不成立。
        1 != 1 or 2==2 or False
        如果所有连接符都是or,则需要找出一个符合要求条件,判断正确的条件就能判断结果成立。
        not False = True    
        not True = False
           
    3.三者混合使用,需要加个括号来表示优先级,不然会出错。
    
    
  2. 成员运算符

    1.in 在...之内
     如果在指定的序列中找到值返回 True,否则返回 False。 
     not in  不在...之内
     如果在指定的序列中没有找到值返回 True,否则返回 False。   
    2.操作方法:
        l1 = ['wyb', 'xz', 'bjyx']
        判断列表的某个个体是否在成员名单中:
        print('wyb' in l1)  # True
        print('xx' in l1 )  # False
        列表在做成员运算的时候最小单位为数据值的整体,不能拆分合并。
        s1 = 'hello,world!'
        print('h' in s1) # True
        字符串在做成员运算的社会化最小单位为单个字符,可以增加字符的个数。
        d1 = {'name':'xx','pwd':123}
        print('xx' in d1) # Flalse
        print(123 in d1)  # False
        print('name' in d1)  # True
        字典在做成员运算的时候只有K会参与运算,V不能暴露在外界。
        
    
  3. 身份运算符

    1.is  判断数据值的内存地址是否一致
    2.== 判断数据值的值是否一致
    3.id() 该方法会返回一串数字,相当于内存地址
    4.操作方法:
        l1 = [1111,222,22] 
        l2 = [1111,222,22] #2129114809216
        print(id(l1))#2129114810176
        print(id(l2))#2129114809216
        print(l1 == l2)  # True  判断值
        print(l1 is l2)  # False 判断内存地址
        综上可知:值相等,但是内存地址可能不同,
        因为,cpu每次向内存申请位置都是随机的。
        内存地址相等,则值就相等(对于单次程序中)
    5.python具有内存优化功能。
       python对于数据量比较小的或者经常使用的数据就会做内存优化
        '''小整数池'''
        还有一些IDE编辑工作也会做更多的优化处理
        (上述代码使用解释器直接运行,地址不一样的)
          
        
        
    

流程控制理论

流程控制的概念 :

'''事物执行的流程'''
1.顺序结构
     从上到下依次执行,,程序在一般情况下是按顺序执行的。
2.分支结构
     根据条件的不同执行不同代码。
3.循环结构
     根据条件的判断决定是否一直执行操作。


注意事项:

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

流程控制之分支结构

python中如果想要编写分支结构,那么需要使用关键字if
1.单if分支
    if 条件 :
       (条件成立执行代码---子代码)
    #条件可以是布尔值也可以是表达式。
    #条件可以是一个,也可以是由多个逻辑运算符链接的条件。
   操作方法:

    一般模式:
       #定义女人的年龄
       age = 29
       #判断女人的年龄
       if age < 30:
            print('你好!')
    嵌套:
       #定义女人的年龄
       age = 29
       #判断女人的年龄
       if age < 30:
            print('你好!')
            if True :
                print('come on!')
2.if...else分支
       if 条件:
        (条件成立之后执行---子代码)
       else:
        (条件不成立执行----子代码)
         #条件可以是一个,也可以是由多个逻辑运算符链接的条件。
        
        eg:
          #获取用户名和密码
            name = input('name>>>:')
            qwd = input('pwd>>>:')
          #判断用户名和密码是否正确
            if name == 'xz' and pwd == 123 #python中不同的数据类型之间无法直接做比较。
            '''所以这里需要强制类型转换,因为input输入的数据值类型都是字符串类型,所以我们需要转换一下。'''
            pwd = int(pwd)
            
            if name == 'wyb' and pwd == '123':
                print("请!")
            ealse:
                print("zou!")
                
                
                
3.if...elif...else分支
      if 条件1:
           (条件1成立执行---子代码)
      elif 条件2:
           (条件1成立执行---子代码)
      elif 条件3:
           (条件2成立执行---子代码)
      elif:
           (上述所有的条件都不成立执行的代码)
        
       '''if elif else 三者连用,永远只会走一个分支
       elif 和 else都是不能单独使用 必须结合if '''
          
4.if的嵌套使用
   #1.先定义各种条件
    is_see = True
    is_work = True
    is_go = True
    #2.条件判断
    if is_see:
        print("看到了")
        if is_work:
            print("做到了")
            if is_go:
                print("离开了")
            else:
                print("没离开")
        else:
            print("没做到")
     else:
        print("没看到")
    

image

作业02

1.女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:你好,再见!

#定义年龄、身高、体重
age = input('Please enter your age >>> :')
height = input('Please enter your height >>> :')
weight = input('Please enter your weight >>> :')
#强制类型转换
age = int(age)
height = int(height)
weight = int(weight)
#条件判断,if的嵌套使用
if age >= 18:
    if age < 22:
        if height > 170:
            if weight < 100:
                print("小姐姐,你好漂亮!")
            else:
                print("你好,再见!")
        else:
            print("你好,再见!")
    else:
        print("你好,再见!")
else:
    print("你好,再见!")


2.根据用户输入内容打印其权限

#定义用户名
name = input("Please enter your user name >>>:")
#if...elif...else 分支
if name == 'jason' :
    print("You are the super administrator !")
elif name == 'tom':
    print("You are the general administrator")
elif name == 'jack' or 'rain':
    print("You are the business director")
else:
    print("You're a regular user")

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

#定义用户名和密码,黑名单
black_user_list = ['jason', 'kevin', 'tony']
name = input("Please enter your user name: ")
qwq = input("Please enter your password: ")
qwq = int(qwq)
#判断用户输入的用户名是不是在黑名单内。
if name not in black_user_list:
    #再判断输入的用户名是不是已有的用户名
    if name == 'xz':
        if qwq == 123:
            print("登入成功!!!")
        else:
            print("密码错误!!!")
    else:
        print("用户名或者密码有错!!!")
else:
    print("你是黑名单不能进入!!!")
这篇关于学习python-Day07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!