一、基本数据类型
- int 整数
- bool 布尔
- str 字符串
- list 列表
- tuple 元组
- .dict 字典
- set 集合
二、int 类型的操作
- bit_length() 返回二进制长度
三、bool 类型
- 类型转化: 想转什么就用什么括起来
- 当成FALSE:所有的空都是False,非空都是True
四、str 字符串
索引
- 索引的下标从0开始,[索引]
1 s = '上海自来水来自海上' 2 print(s[5])
切片
- 切片:[起始位置:结束位置:步长]
- 顺头不顺尾
- 默认从左往右取
- 如果步长是负数从右往左取
合并与修改
- 对于不同的字符串可以通过加号(+)进行合并
- 字符串的修改通过切片加合并的方式修改
1 name = 'Three cool cat' 2 new_name = name[:11]+'dog' 3 print(new_name)
常用操作
- upper() 变成大写字母
- strip() 去掉左右两端空白 lstrip()/rstrip 去掉左/右边的内容 ()中为去掉右边内容
- split(‘’,1) 切割 切一次 不写就全切
- stratswith() 是否以()开头
- len() 字符串长度 内置函数
- count(),某个字符出现的次数count('sub',1,5)搜索sub 起始位置为1最后位置为5
- find(),index() 查找 并返回位置
- replace('a','b',n) 把a替换成b 替换n次
- capitalize() 首字母大写
以上都可索引查找 从哪到哪
迭代
- for 变量 in 可迭代对象: 把可迭代对象的每一个元素赋值给变
- 循环体
- else :
练习题
1.实现一个整数加法计算器(两个数相加)
1 equation =input('请输入你要计算的内容:') 2 equation = equation.replace(' ','') #去掉所有的空格 3 lit = equation.split('+') #用'+'切割,切割的数据类型是list 4 print(int(lit[0])+int(lit[1]))
2. 判断一句话是否是回文(上海自来水来自海上)

1 #法1: 2 s = input('请输入你要判断的文字:') 3 i = 0 4 n = len(s) - 1 5 while n >= 0: 6 if s[i] == s[n]: 7 i += 1 8 n -= 1 9 else: 10 print('这不是回文') 11 break 12 else: 13 print('这就是回文') 14 #法2: 15 s = input('请输入你要判断的文字:') 16 b = s[::-1] 17 if s ==b : 18 print('这是回文') 19 else: 20 print('这不是回文')
3.输入一个字符串,要求判断在这个字符串中大写字母、小写字母、数字、其他字符一共出现了多少次。
1 shuru = input('请输入一句话:') 2 daxie = 0 3 xiaoxie = 0 4 shuzi = 0 5 other = 0 6 for v in shuru : 7 if v.isupper(): 8 daxie += 1 9 elif v.islower(): 10 xiaoxie += 1 11 elif v.isdigit(): 12 shuzi += 1 13 else: 14 other += 1 15 print(daxie,xiaoxie,shuzi,other)
4.‘’ 鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只‘’统计钓了多少条鱼
1 s = '鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只' 2 count1 = 0 3 count2 = 0 4 for i in range(len(s)): #range 函数把长度分为 0 ,1 ,2,。。。,len(s) 5 if s[i] == '鱼': 6 count1 = count1 +int(s[i+1]) 7 count2 += 1 8 print('钓上的鱼有%d条,统计鱼%d次,乌龟数没有统计'%(count1,count2))
体会题4与题5的区别