ICode9

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

学习python-Day07

2022-06-21 21:03:31  阅读:115  来源: 互联网

标签:name python 数据类型 代码 Day07 else 学习 print True


昨日内容大概

  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("你是黑名单不能进入!!!")

标签:name,python,数据类型,代码,Day07,else,学习,print,True
来源: https://www.cnblogs.com/bjyxxc/p/16398342.html

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

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

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

ICode9版权所有