zoukankan      html  css  js  c++  java
  • 字符串常用操作,for循环,基础数据类型,进制转换 day03

    1. 基础数据类型总览

      • 10203 123 3340 int +-*/等
      • '今天吃了没?' str 存储少量的数据,+ *int (重复多个数字的字符串)切片, 其他操作方法
      • True False bool 判断真假
      • [12, True, 'alex', [1,2,3 ]] list 存储大量的数据。
      • (12, True, 'alex', [1,2,3 ]) tuple 存储大量的数据,不可改变里面的元素。
      • {'name': 'holting'} dict 存储大量的关联型的数据,查询速度非常快。
      • set 交集,并集差集。。。
    2. int

      • 进制转换 : 2,8,16进制转换成10进制,10进制转换即除2,8,16,余数倒过来

        (1).  (1101101)2  =1 *2^6+1*2^5+1*2^3+1*2^2+1*2^0 =109
        (2).    (563)8   =5*8^2+6*8^1+3*8^0 =371
        (3).  (123AF)16   =1*16^4+2*16^3*16^2+10*16^1+15*16^0 =74671
        带有小数
        (4)0. 1011.873
        1011 /2 =505 505/2=252 252/2=126 126/2 =63 63 /2=31 31/2=15 15/2=7
        7/2= 3 3/2=1 1/2=0
        0.873*2=1.746 0.746*2=1.492 0.492*2=1.984 0.984*2 =1.968
        即为 1111110011.1101
               
               原码是一种简单的机器数表示法。即正数的原码,反码和补码是完全相同的。
        负数原码与补码除符号位不变,其他位0变1,1变0,而他的补码是在反码
        的基础上,最低位加一。
        

        bit_lenth 十进制转化成二进制的有效长度

        # bit_lenth 有效的二进制的长度
        i = 4
        print(i.bit_length())
        
        1. bool

        bool str int 三者之间的转换

        # 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 = ' '
        print(bool(s1))
        
        s1 = ''  # 空字符串
        print(bool(s1))
        # bool  ---> str  无意义
        print(str(True))
        
    3. str

      • 索引切片步长

        # 对字符串进行索引,切片出来的数据都是字符串类型。
        # 按照索引取值
        # 从左至右有顺序,下标,索引
        按照切片取值
        s ='holting'
        s[0:5]左闭右开
        切片步长
        s[0:6:2]
        倒叙(要写步长,不然运行结果会出现错误)
        s[-1:-8:-1]
        
      • 常用操作方法

        不会对原字符串进行任何操作,都是产生一个新的字符串。

        1. str.upper()或lower()#改变字符串中字母大小写
        # 应用:
        username = input('用户名')
        password = input('密码')
        code = 'QweA'
        print(code)
        your_code = input('请输入验证码:不区分大小写')
        if your_code.upper() == code.upper():
            if username == 'holting' and password == '123':
                print('登录成功')
            else:
                print('用户名密码错误')
        else:
            print('验证码错误')
            
        2. startswith endswith(判断字符是否从哪开始结束)
        s = holting
         print(s.startswith('h'))  ***
        # print(s.startswith('holtin'))  ***
        # 了解
        # print(s.startswith('t',3,6))
        
        3.replace
        msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
        # msg1 = msg.replace('alex','holting')  # 默认全部替换
        # msg1 = msg.replace('alex','holting',2)
        
        4. strip(去除 空白,	
        ,和指定字符)
        s.strip(',')
        
        5.split 默认按照空格分隔,返回一个列表 *****
        指定分隔符: s.split(':',2)
         s = 'holting,hao,ni,在键'
        # s2 = s[-1:-8:-1]
        # print(s2)
        # s3 = s.split(',',2)
        # print(s3)
        
        6. join 非常好用(可将列表转换成字符串)
        前提列表里的元素必须都是str类型
        
        s1 ='holting'
        # s2 ='+'.join(s1)
        # print(s2,type(s2))
        
        #前提是:列表里面的元素必须都是str类型
        s1 = ['holting','haoren','shuai']
        s3 = ':'.join(s1)
        print(s3,type(s3))
        
        7. count(统计次数)
         s8 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'
        # print(s8.count('a'))
        
        8. format : 格式化输出
        第一种用法
        msg = '我叫{}今年{}性别{}'.format('haoren','20','男')
        第二种用法
        msg = '我叫{0}今年{1}性别{2}我依然交(0)'.format('haoren','20','男')
        第三种用法
        a = 0
        msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='haoren')
        
        9. is 系列:
         isdigit()判断是否为数字
         isspace()  判断是否为空格
        name = 'holting123'
        print(name.isalnum()) #字符串由字母或数字组成
        # # print(name.isalpha()) #字符串只由字母组成
        # print(name.isdecimal()) #字符串只由十进制组成
        常见于
        s = input('请输入您的金额:')
        if s.isdecimal():
        	print(int(s1))
        else:
        	print('输入有误')
        
    4. for循环

      len :获取可迭代对象的元素总个数
      # print(len(s1))
      index = 0
      # while index < len(s1):
      #     print(s1[index])
      #     index += 1
      
      for i in s:
      	print(i)
      	
      break continue
      # for else: while else:用法一样。
      
  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/zhaoxinblog/p/13171550.html
Copyright © 2011-2022 走看看