zoukankan      html  css  js  c++  java
  • Python全栈(第一部分)day3

    昨日内容回顾

    1. 格式化输出
      %s %d
      %%

    2. 编码

      • ascii: 只能显示英文,特殊字符,数字
      • 万国码unicode: 最开始16位,中文不够,用32位,占用4个字节
      • 升级: utf-8 utf-16 utf-32
        utf-8: 最少用一个字节,8位表示一个英文;欧洲16位,两个字节;亚洲24位,三个字节
      • gbk: 中国人发明的,只能用于中文和ascii码中的文字

    作业讲解

    1. 判断逻辑语句的True, False

       print(1>1 or 3<4 or 4<5 and 2>1 and 9>8 or 7<6 ) #True
       print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6) #False
       print(1>2 and 3<4 or 4>5 and 2>1 or 9<8 and 4>6 or 3<2) #False
      
    2. 求出下列逻辑语句的值

       print(8 or 3 and 4 or 2 and 0 or 9 and 7) #8
       print(0 or 2 and 3 and 4 or 6 and 0 or 3) #4
       print(5 and 9 or 10 and 2 or 3 and 5 or 4 or 5) #9
      
    3. 下列结果是什么

       print(6 or 2>1)# 6
       print(3 or 2>1) # 3
       print(0 or 5<4) # False
       print(5<4 or 3) # 3
       print(2<1 or 6) # 6
       print(3 and 2>1) # True
       print(0 and 3>1) # 0
       print(2>1 and 3) # 3
       print(3>1 and 0) # 0
       print(3>1 and 2 or 2<3 and 3 and 4 or 3>2) #2
      
    4. 简述变量命名规范

      • 由数字,字母,下划线组成
      • 不能以数字开头
      • 不能使用python中的关键字
      • 不要使用中文
      • 常量名要大写
    5. name = input(">>>") name变量是什么数据类型
      str类型

    6. if条件语句的基本结构

    7. while循环语句基本结构

    8. 写代码:计算1-2+3...+99中除了88以外的所有数的总和

       #第一种
       count = 0
       sum = 0
       while count<99:
           count += 1
           if count==88:
               continue
           if count%2 == 0:
               sum -= count
           else:
               sum += count
       print(sum)
       
       #第二种
       count = 0
       sum = 0
       flag = -1
       while count<99:
           count += 1
           if count==88:
               continue
           else:
               flag = -flag
               sum += count*flag
       print(sum)
      
    9. 用户登陆(三次输错机会)且每次输错误时显示剩余错误次数

       count = 1
       while count<=3:
           name = input('请输入用户名:')
           passwd = input('请输入密码:')
           if name == 'xkzhai' and passwd == '1234':
               print('登录成功')
               break
           else:
               print('用户名或密码错误,还有' + str(3-count) + '次机会')
           count += 1
           
       username = "xkzhai"
       password = "1234"
       i = 3
       while i > 0:
           name = input("请输入你的账号:")
           i -= 1
           if name == username:
               passwd = input("请输入你的密码:")
               if passwd == password:
                   print("验证成功.正在登陆......")
                   print('''恭喜你登陆成功!
                   欢迎用户进入
                   用户名 :%s
                   密码   :%s
                   '''%(name,passwd))
                   break
               else:
                   print("密码错误,请重新输入")
                   print("你还有" + str(i) + "次机会")
                   if i == 0:
                       print("你的机会已经没了!")
                       answer = input('再试试?Y or N')
                       if answer == 'Y':
                           i = 3
           else:
               print("请输入正确的用户名!")
               print("你还有" + str(i) + "次机会")
               if i == 0:
                   print("你的机会已经没了!")
                   answer = input('再试试?Y or N')
                   if answer == 'Y':
                       i = 3
      

    数据类型

    1. int: 用于计算

    2. bool: True,False,用户判断

    3. str: 存储少量数据,进行操作

    4. list: 存储大量数据,[1,2,3,'xkzhai','1234',[2,3,4]]

    5. 元组: 只读,(1,2,3,'第三')

    6. dict: 字典,键值对,{'name' : 'xkzhai', 'age' : 16}

    7. 集合: {1,2,3,'abc'}

    int

        i = 1
        print(i.bit_length())
    
        '''
                        bit_length
        1    0000 0001      1
        2    0000 0010      2
        3    0000 0011      2
        '''
    

    bool

        #bool True False
    
        # int ----> str
        i = 1
        s = str(i)
    
        # str ----> int
        s = '234'
        i = int(s)
    
        # int ----> bool, 只要是0就是False, 非零就是True
        i = -1
        b = bool(i)
        print(b)
    
        # bool ----> int, True ---> 1, False ---> 0
        '''
        while True:
            pass
    
        #效率高
        while 1:
            pass
        '''
        # str ----> bool, 非空字符串都是True
        s = ''
        print(bool(s))
    
        s = '0'
        print(bool(s))
    

    str

    1. 字符串索引与切片

       s = 'ABCDEFGH'
       print(s[0]) # A
       print(s) # ABCDEFGH
       
       #切片:顾头不顾尾
       print(s[0:3]) # ABC
       print(s[-1]) # H
       print(s[0:]) # ABCDEFGH
       print(s[0:-1]) # ABCDEFG
       print(s[0:0]) # 空
       print(s[:]) #  ABCDEFGH
       
       #s[首:尾:步长]
       print(s[0:6:2]) # ACE
       print(s[4:0:-1]) # EDCB
       print(s[4::-1]) # EDCBA
       print(s[4::-2]) # ECA
       print(s[-1::-1]) # HGFEDCBA
       print(s[::-1]) # HGFEDCBA
      
    2. 字符串操作

       s = 'abcdEfg'
       print(s.capitalize()) #首字母大写,Abcdefg
       print(s.upper()) #全大写,ABCDEFG
       print(s.lower()) #全小写,abcdefg
       
       #验证码不区分大小写
       str = 'acEQ'
       str0 = input('请输入验证码,不区分大小写: ')
       if str.upper() == str0.upper():
           print('成功')
       else:
           print('验证码输入错误')
           
       #大小写翻转
       print('abCD'.swapcase()) # ABcd
       
       #每个隔开(特殊字符或数字)的单词首字母大写
       str = 'alex_tom*john'
       print(str.title()) # Alex_Tom*John
       
       #居中,字符填充
       s = 'alexTOM'
       print(s.center(20,"*")) # *****alexTom*****
       
       # 公共方法
       s = 'alex找Tom'
       print(len(s)) # 8
       
       #判断以什么开头
       s = 'alexTOM'
       print(s.startswith('ale')) # True
       print(s.startswith('exT',2,5)) # True
       print(s.startswith('exTOM',2,5)) # False
       #find查找元素,返回最小下标,int型,找不到则返回-1
       s = 'alexMTOM'
       print(s.find('MT')) # 4
      
       #index查找元素,找不到报错
       print(s.index('F')) # 报错
       
       #strip默认删除前后空格
       s = ' alexMTOM '
       print(s) #  alexMTOM
       print(s.strip()) # alexMTOM
      
       #rstrip, lstrip
       s = '* a*lexMTOM%'
       print(s.rstrip(' *%')) # * a*alexMTOM
       
       s = 'alexxk zhai'
       print(s.count('xx')) # 1
       
       #split  str ---> list
       s = ';alexxk;zhai;tom'
       print(s.split()) # [';alexxk;zhai;tom']
       print(s.split(';')) # ['','alexxk','zhai','tom']
       print(s.split('a')) # [';','lexkk;zh','i;tom']
      
    3. format,格式化,三种写法

       s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('xkzhai',26,'iter','xkzhai')
       print(s)
      
       name = input('请输入名字:')
       s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,26,'iter')
       print(s)
      
       name = input('请输入名字:')
       s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=26,name=name,hobby='iter')
       print(s)
      
    4. replace

       s = '线性系统理线性论代数基础'
       print(s.replace('线性','非线性')) # 非线性系统理非线性论代数基础
       print(s.replace('线性','非线性',1)) # 非线性系统理线性论代数基础
      
    5. for循环,类似于java中的增强for循环

       s = '123abc'
       for i in s:
           print(i)
       # 1 2 3 a b c
       
       s = 'xs鲁棒控制理论sx'
       if 'xs' in s:
           print('有敏感词')
      

    作业

    1. 用变量name = "aleX leNb"完成如下操作
      1)移除name变量对应的值两边的空格,并输出处理结果
      2)移除name变量左边的'al',并输出处理结果
      3)移除name变量右边的'Nb',并输出处理结果
      4)移除name变量开头的'a'与最后的'b',并输出处理结果
      5)判断name变量是否是以'al'开头,并输出结果
      7)将name变量对应的值中的所有'l' 替换为'p',并输出结果
      8)将name变量对应的值中的第一个'l'替换成'p',并输出结果
      9)将name变量根据'l'分割,并输出结果
      10)将name变量根据第一个'l'分割,并输出结果
      11)将name变量对应的值变大写,并输出结果
      12)将name变量对应的值变小写,并输出结果
      13)将name变量对应的值首字母'a'大写,并输出结果
      14)计算name变量中'l'出现的次数,并输出结果
      15)计算 name变量中前四位'l'出现的次数,输出结果
      16)从name变量中找到"N"对应的索引(如果找不到,则报错)
      17)从name变量中找到'X le'对应的索引,并输出结果
      18)请输出name变量的第2个字符
      19)输出name变量的前3个字符
      20)输出name变量的后2个字符
      21)输出name变量'e'所在的索引位置
      22)获取子序列,去掉最后一个字符, 如:oldboy 获取oldbo

    2. 字符串s = '132a4b5c'
      1)通过切片形成新字符串'123'
      2)通过切片得到'a4b'
      3)通过切片得到'1245'
      4)通过切片得到'3ab'
      5)通过切片得到'c'
      6)切片得到字符串'ba3'

    3. 使用while和for循环分别打印字符串s='asdfer'中每个元素

    4. 实现一个整数加法计算器
      如: content = input('请输入内容:'), 用户输入: 5+9或 5+ 9 或 5 + 9,先进行分割再计算

    5. 计算用户输入的内容中有几个整数

  • 相关阅读:
    20145308 《信息安全系统设计基础》第3周学习总结
    20145308 《信息安全系统设计基础》第2周学习总结
    20145308 《信息安全系统设计基础》第1周学习总结
    试验箱汇总
    20145202马超《JAVA》预备作业3
    20145202 《信息安全系统设计基础》第14周学习总结
    20145202马超《JAVA》预备作业1
    20145202马超《JAVA》预备作业
    20145202 《信息安全系统设计基础》第13周学习总结(2)
    M4中遇到的问题
  • 原文地址:https://www.cnblogs.com/SweetZxl/p/9573253.html
Copyright © 2011-2022 走看看