• day03


    1. 整型和布尔值的转换

    1.1 整型--数字(int)

    • 用于比较和运算的
    • 范围
    32位 : -2**31~2**31-1
    64位 : -2**63~2**63-1
    
    • python2 整型: int / long(长整型)获取的是整数
    • python3 整型: int /获取的是浮点数(小数)

    1.2 二进制和十进制的转换(以"173"为例:)

    1.2.1 十进制转为二进制

    以173为例:(除以2)      商     余数
    					173  	1
    					86		0
    					43		1
    					21		1
    					10		0
    					5		1
    					2		0
    					1		1
    从下往上数,即:(10101101)
    

    1.2.2 编码 print(bin(173))

    1.2.3 二进制转为十进制

    以173为例:(2的幂次方)(10101101)   
    1*2**0 + 0*2**1 + 1*2**2 + 1*2**3 + 0*2**4 + 1*2**5 + 0*2**6 + 1*2**7 = 1 + 0 + 4 + 8 + 0 + 32 + 0 + 128 =173
    从右向左,幂值从0开始
    

    1.2.4 编码 print(int("10101101",2))

    1.3 布尔值 bool

    1.3.1 True

    print(bool(1))  #数字非零的都是True. 零就是False 
    print(bool("")  #字符串不为空就是True,空格是True.什么都没有就是False.
    

    2. 字符串

    2.1 定义

    • 在python中用引号引起来的就是字符串
    • 字符串用来储存少量数据
     name = "meet"  # meet 每个字母叫做一个元素
    	     0123   # 从左向右
    	     -4-3-2-1# 从右向左
     #索引,可以准确定位到某个元素,类似学号
     print(name[100])   #  索引值超过范围是会报错
    
    name = "今天是个好日子"
       #    0 1 2 3 4 5 6
    a = name[0]
    b = name[1]
    print(a+b)
    切片:
    print(name[0:2])  #顾头不顾尾 name[起始位置:终止为止]
    print(name[:])   #某个位置不指定的时候默认取最后或最前
    
    步长:
    print(name[-2:-5:-1]) #默认为1,控制方向和迈的步子
    

    2.2 重要易错知识

    2.2.1 索引值超过范围是会报错

    print(name[100])   # string index out of range
    

    2.2.2 切片时起始位置和终止位置都超出范围时不报错

    print(name[100:105])  #没有结果,不报错
    

    2.3 字符串的方法

    s = "alExdajbxa"
    s1 = s.upper()  #全部大写
    应用场景:
    s = input("请输入验证码(AbCd):")
    if s.upper() == "AbCd".upper():
    	print("正确")
    else:
    	print("错误")
    	
    s2 = s.lower()  #全部小写
    s3 = s.startswith()  #以...开头    结果是布尔值 True / False
    s.startswith("a",2,6)  # 开头,起始位置,终止位置
    括号里可以添加切片
    s4 = s.endswith()  #以...结尾
    s.count()
    s5 = s.count("x")  #计数,结果为数字
    
    s.strip()   # 默认拖去字符串两端的空格.换行符及制表符
    # s = input(">>>")
    # if s.strip() == "alex":
    #     print("1")
    # else:
    #     print("2")
    
    s = "alExdajbxa"
    s.strip("al")  # 结果 Exdajbx 分别将首尾的"a" 及"al"进行去除
    
    s.split("l",1) #""里边是以什么切割. 1 不是下标,是切的次数
    
    s.replace("","",1)  #前边""添加旧的值,后边""添加新的替换值. 1 表示换的次数,默认有几个换几个,不能是负数,不报错,但也不替换
    
    

    3. is系列

    3.1 isalnum ()

    • 判断是不是字母数字和汉字

    3.2 isalpha()

    • 判断是不是字母和中文

    3.3 isdigit ()

    • 判断字符串是不是全都是阿拉伯数字 /坑②结果是True

    3.4 isdecimal()

    • 判断是不是十进制

    4. for循环

    4.1 for 变量 in 可迭代对象:

    s = "alex"   #可迭代对象,不能是整型和布尔值
    for i in s: 
    	print(i)  #i 迭代结果
    	
    结果
    a
    l
    e
    x	
    	
    s = "alex"   #可迭代对象,不能是整型和布尔值
    for i in s: 	
    	print(s)   #用i的次数进行循环
    结果
    alex
    alex
    alex
    alex
    
    s = "alex"   #可迭代对象,不能是整型和布尔值
    for i in s:
    	pass
    print(i)   #i 依次等于a l e x 最后i被赋的值就是x
    结果
    x
    
  • 相关阅读:
    POJ-1502-MPI Maelstrom
    POJ-3259-Wormholes
    【BZOJ4399】—膜法少女LJJ(线段树合并)
    省选模板复习—【计算几何】
    【BZOJ2115】【WC2011】—Xor(线性基)
    【洛谷P5290】【十二省联考2019】春节十二响(贪心+启发式合并)
    【BZOJ5461】 【PKUWC2018】—Minimax(线段树合并优化dp)
    【LOJ#3043】【洛谷P5280】【ZJOI2019】—线段树(计数dp+线段树)
    【省选模拟】—猎人杀(概率dp)
    【BZOJ4828】【HNOI2017】—大佬(LmyAKIOI!)
  • 原文地址:https://www.cnblogs.com/lvweihe/p/11154087.html
Copyright © 2020-2023  润新知