Python之第二天的努力--快捷方式,编码,int,bool,str,for循环

1.快捷方式及pycharm应用

Alt+Ctrl+A 截图

Ctrl+/ 快速注释

shift+tab 多行退缩进

右键 Refactor 修改名称

修改背景:

image-20200531145407405

2.编码初识:

  • 编码:密码本:二进制与文字的对应关系。

    • ASCLL:最早的密码本:二进制与 英文字母,数字,特殊字符的对应关系

      01100001 a

      'abc': 01100001 01100010 01100011 :三字节

    • GBK国标:英文...一个字节 中文...两个字节

      • 英文字母,数字,特殊字符 ASCLL
      • 中文自己编写

      'ab憨憨':6个字节

    • Unicode:万国码。兼容性高,与任何密码本都有映射关系

      所有都占用4个字节

    • UTF-8:

      英文 :使用ASCLL 一个字节

      欧洲:两个字节

      中文:三个字节

      'ab憨憨':8个字节

3.昨日练习

  • 设定一个理想数字如:66 让用户输入数字,如果比66大,泽显示猜测结果大了;如果比66小,则显示猜测结果偏小
    # 给用户三次机会,如果三次之内猜对了 则显示猜测正确退出循环  如果三次之内没有猜对,自动退出并显示太笨了
    
flag = 66
count = 0
while count < 3:
    # 3次
    # input
    # if elif else
    num = int(input('请输入数字:'))
    if num > 66:
        print('猜大了')
    elif num < 66:
        print('猜小了')
    else :
        print('恭喜你猜对了')
        break
    count += 1
else:
print('太笨了')
  • 依次输入1 2 3 4 5 6 8 9 10
    
    count = 0
    while count < 10:
        count += 1
        if count == 7:
            continue
        print(count)
    
  • 求1—2+3-4+5...99的和
    
    count = 1
    s = 0
    while count < 100:
        if count % 2 == 0:
            s = s - count
        else:
            s = s + count
        count += 1
    print(s)
    

4.基础数据类型

  • 1000 222 33 4 : int + - * /
  • '铁憨憨' : str 存储少量数据 + *int 切片....
  • True False bool 判断真假
  • [10, True, 'aaa', [1,2,3]] list 列表 存储大量数据
  • (10, True, 'aaa', [1,2,3]) tuple 元组 存储大量数据 不可改变里面的元素
  • {'name':'猪憨憨'} dict 字典 存储大量的关联性数据,查询速度非常快

5.int

  • bit_lenth 有效的二进制长度
    
    i = 4  # 3
    print(i.bit_length())
    
    i = 10   # 4
    print(i.bit_length())
    

6.bool str int 转化

# bool   <--->    int
'''
True  1    False   0
非零  True    0是False
'''

# str   <---> int
'''
s1 = 10    int(s1)    : 必须是数字组成
i = 100    str(i)
'''

# str  bool
# 非空即True

# s1 = 'asdf'
# print(bool(s1))  # True
#
# s1 = ' '
# print(bool(s1))   # True
#
# s1 = ''
# print(bool(s1))   # False

7.str

  • 索引

    s1 = 'python世界'
    # 对字符串进行的索引,切片出来的数据都是字符串类型
    # 从左至右有顺序,下标,索引
    s2 = s1[0]
    print(s2,type(s2))
    s3 = s1[6]
    print(s3,type(s3))
    s4 = s1[-1]
    print(s4,type(s4))
    

    image-20200531163511663

  • 切片

    s1 = 'python世界'
    # 对字符串进行的索引,切片出来的数据都是字符串类型
    # 从左至右有顺序,下标,索引
    # s2 = s1[0]
    # print(s2,type(s2))
    # s3 = s1[6]
    # print(s3,type(s3))
    # s4 = s1[-1]
    # print(s4,type(s4))
    
    
    # 按照切片取值
    # 顾头不顾腚
    # s5 = s1[0:5]
    # s5 = s1[:5]
    # print(s5)
    # s6 = s1[6:]
    # print(s6)
    
    # 切片步长
    s7 = s1[:5:2]
    print(s7)
    
    # 倒序
    s8 = s1[-1:-6:-1]
    print(s8)
    
    
    # 按索引:s1[index]
    # 按切片:s1[start_index: end_index]
    # 按切片加步长:s1[start_index: end_index: 2]
    
    
    
  • 常用操作

    • # upper lower
      s1 = s.upper()
      s2 = s.lower()
      print(s1)   # 变大写
      print(s2)   # 变小写
      

      应用:不区分大小写

      username = input('用户名')
      password = input('密码')
      code = 'QweA'
      print('验证码为:',code)
      your_code = input('请输入验证码,不区分大小写:')
      if your_code.upper() == code.upper():
          if username == 'abc' and password == '123':
              print('登录成功')
          else:
              print('用户名或密码错误')
      else:
          print('验证码错误')
      
    • # startswith endswith  判断字符串的开始与结束
      
      s = 'Python世界'
      # startswith endswith  判断字符串的开始与结束
      
      print(s.startswith('P'))    # True
      
    • # replace(替换前,替换后,次数(不填默认全部替换))
      msg = '猪憨憨 很厉害,猪憨憨王者打的很好'
      msg1 = msg.replace('猪憨憨','狗能能')
      msg2 = msg.replace('猪憨憨','狗能能',1)
      print(msg1)
      print(msg2)
      

      image-20200531210741935

    • # strip:空白: 空格  \t  \n      # 去除空白
      s = '  \n弟弟\t'
      # print(s)
      s1 = s.strip()
      print(s1)
      
      # 去除指定字符
      s = 'qqw弟弟asd'
      s1 = s.strip('asdqw')
      print(s1)
      

      image-20200531210702142

    • # split   # 非常重要********       分割
      # 默认按照空格分隔,返回一个列表
      # 指定分割符()内
      # str--->list
      
      # s = 'zs ls ww'
      # s1 = s.split()
      
      # s = 'zs:ls:ww'
      # s1 = s.split(':')
      #
      # print(s1)
      
      s2 = ':zs:ls:ww'
      print(s2.split(':'))
      print(s2.split(':',2))
      

      image-20200531200940099

    • # join 非常好用
      # s1 = 'zs'
      # s2 = '+'.join(s1)
      # print(s2,type(s2))
      
      s1 = ['zs','ls','ww']
      s2 = ':'.join(s1)
      print(s2)
      

      image-20200531200856414

    • # count 数
      s = 'ajhdfhaufhaadshsiui'
      print(s.count('a'))
      

      image-20200531200819903

    • # format: 格式化输出
      # 第一种用法
      # msg = '我叫{}今年{}性别{}'.format('小疯子',18,'男')
      # print(msg)
      # 第二种用法
      msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('小疯子',18,'男')
      print(msg)
      # 第一种用法
      msg1 = '我叫{name}今年{age}性别{sex}'.format(name = '小疯子',age = 18,sex = '男')
      print(msg1)
      

      image-20200531211143500

    • # is系列:
      name = 'hcy123'
      print(name.isalnum())    # 判断字符串是不是由字母或数字组成
      print(name.isalpha())    # 判断字符串是不是只由字母组成
      print(name.isdecimal())    # 判断字符串是不是只由十进制组成
      
      s1 = input('请输入金额')
      if s1.isdecimal():
          int(s1)
      else:
          print('输入有误')
      

      image-20200531211902207

8.for循环

# for循环
'''
有限循环
for 变量 in iterable:
    pass
'''
# s1 = '我最喜欢的歌手:华晨宇'
# for i in s1:
#     print(i)

s1 = '我最喜欢的歌手:华晨宇'
for i in s1:
    if i == ':':
        break
    print(i)

image-20200531213848253

posted @ 2020-05-31 21:44  ET-珩  阅读(107)  评论(0)    收藏  举报