day03笔记
1.整型和布尔值
2.字符串详解(常用的方法
3.for循环
1.整型和布尔值
python3: in
python2: int,long(长整型)
num = 15 print(num.bit_length()) 结果为4
十进制 -- 二进制 # 15 1 # 7 1 # 3 1 # 1 1 # 0 # 34(十进制) # 32 16 8 4 2 1 # 1 0 0 0 1 0 二进制 -- 十进制 # 1*2**0 + 0*2**1 + 1*2**2 + 0*2**3 + 1*2**4 + 1*2**5 # 1 + 0 + 4 + 0 + 16 + 32 # 45 十进制转二进制 # 32 16 8 4 2 1 # 1 0 1 1 0 1
bin -- 将十进制转换成二进制 print(bin(45)) int -- 将二进制转换成十进制 print(int("101101",2)) print(int(0b101101))
布尔值:
类型转换
数字中只有0是False,其余的都为True
字符串中只要有内容就是True,没有内容就是False
print(bool(""))
print(type(str(False)))
print(int(True))
print(int(False))
2.字符串详解
s = "meet"
字符串中的元素(字母)
字符串:存储一些数据的
字符串是有序
字符串是不可变的
索引:准确且快速找值
s = "meet"
0123 # 从左向右 -4-3-2-1 # 从右向左
s[0] # 通过索引准确查找元素
切片:
顾头不顾
print(s[0:10]) # [起始索引 : 终止索引]
print(s[-6:]) # [起始索引 : 默认获取字符串末尾的内容]
print(s[:]) # [默认获取字符串开始的内容 : 默认获取字符串末尾的内容]
对比:
s = "alex_wusir|oldboy"
索引:
print(s[20]) #报错: string index out of range 索引超出范围会报错
切片:
print(s[1:100]) # 切片超出索引值不会报错
步长
s = "alex_wusir|oldboy"
print(s[0:5:2])
步长默认为1 开始索引:结束索引: 步长
步长可以决定查找方向和迈的步子,可正着取,可倒着取
回文
上海自来水来自海上
while True: msg = input("请输入内容:") # 12321# if msg == msg[::-1]: # 将字符串进行反转# print("这是回文")# else: print("请重新输入!")
3.字符串操作方法
s1 = s.strip()
默认去除头尾两端的空格及换行符,制表符(Tab) *****
s1 = s.strip("a")
s2 = s1.split("+")
分割 默认用空格,换行符,制表符,返回的是一个列表
s1 = s.split("-",maxsplit=1) 不指定maxsplit默认全部都分割
s1 = s.replace("n","s",1)
替换(旧,新,替换次数)
过滤铭感词
s = "TMD" msg = input(">>>") if s in msg: msg = msg.replace(s,len(s) * "*") # len求长度# print(msg)
1.实现一个计算器,这个计算器只支持加法和减法,只支持三个数.例如(11 + 22 - 12)
s = input("请输入要计算的公式:") s1 = s.replace("-","+-") s2 = s1.split("+") # s2是一个列表,列表支持索引 print(int(s2[0]) + int(s2[1]) + int(s2[2]))
s1 = s.upper()
全部大写
s2 = s.lower()
全部小写
验证码不区分大小写 s = "XbGj" msg = input("请输入验证码(XbGj):") if msg.upper() == s.upper(): print("成功!") else: print("失败")
import random # 随机数 ascii 48 - 57 数字 65 - 90 大写 97 - 122 小写 print(chr(97)) # 通过十进制查找编码上对应的字符 自动生成验证码: s = f"{chr(random.randint(48,57))}{chr(random.randint(65,90){chr(random.randint(97,122))}{chr(random.randint(48,57))}" # 4位 msg = input(f"请输入验证码{s}:") if msg.lower() == s.lower(): print("验证成功!") else: print("验证失败")
s1 = s.count("e")
计数,统计
print(s.startswith("x",3))
判断以什么开头 -- 返回的是布尔值
print(s.endswith("r"))
判断以什么结尾 -- 返回的是布尔值
is系列
s = "123你好啊aaaa"
print(s.isalpha()) # 判断是不是由字母,中文组成 -- 返回的是布尔值
print(s.isdigit()) # 判断是否是数字 -- bug
print(s.isdecimal()) # 判断是否是十进制的数
print(s.isalnum()) # 判断是否是字母、数字、汉字
4.for 循环
for循环 固定结构: for i in 可迭代对象: 循环体
s = '6314' for i in s: print(i) print(i)
面试题 s = '123' for i in s: pass # 占位 print(i)
思维 : 借助了你的循环次数 s = "12" for i in s: # 1 2 print(s) # 12 12
可迭代对象: 除去(int -- 整型;bool -- 布尔值)
s = '321' for i in s: print('倒计时'+i) count = 0 while count < len(s): print('倒计时%s'%s[count]) count += 1
来源:https://www.cnblogs.com/shenzewang/p/12508428.html