当前位置: 移动技术网 > IT编程>脚本编程>Python > python学习-字符串

python学习-字符串

2019年06月19日  | 移动技术网IT编程  | 我要评论

9块9包邮,ca1265,沙胜域

一、基本数据类型

  1. int 整数
  2. bool 布尔
  3. str 字符串
  4. list 列表
  5. tuple 元组
  6. .dict 字典 
  7. set 集合

二、int 类型的操作

  •   bit_length() 返回二进制长度

三、bool 类型

  • 类型转化: 想转什么就用什么括起来  
  • 当成false:所有的空都是false,非空都是true

四、str 字符串

索引

  • 索引的下标从0开始,[索引] 
1 s = '上海自来水来自海上'
2 print(s[5])    

判断

  • 判断一个字符是否在字符串中   in

切片

  • 切片:[起始位置:结束位置:步长]
  • 顺头不顺尾
  • 默认从左往右取
  • 如果步长是负数从右往左取

合并与修改

  1. 对于不同的字符串可以通过加号(+)进行合并
  2. 字符串的修改通过切片加合并的方式修改
1 name = 'three cool cat'
2 new_name = name[:11]+'dog'
3 print(new_name)

常用操作

  1. upper() 变成大写字母
  2. strip() 去掉左右两端空白 lstrip()/rstrip 去掉左/右边的内容 ()中为去掉右边内容 
  3. split(‘’,1) 切割 切一次 不写就全切
  4. stratswith() 是否以()开头
  5. len() 字符串长度 内置函数
  6. count(),某个字符出现的次数count('sub',1,5)搜索sub 起始位置为1最后位置为5
  7. find(),index() 查找 并返回位置
  8. replace('a','b',n) 把a替换成b 替换n次
  9. 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的区别

  5.输入一个名字判断是否是百家姓。(粗略实现)

 1 first_name = '''赵钱孙李,周吴郑王。
 2 冯陈褚卫,蒋沈韩杨。
 3 朱秦尤许,何吕施张。
 4 孔曹严华,金魏陶姜。
 5 戚谢邹喻,柏水窦章。
 6 云苏潘葛,奚范彭郎。
 7 鲁韦昌马,苗凤花方。
 8 俞任袁柳,酆鲍史唐。
 9 费廉岑薛,雷贺倪汤。
10 滕殷罗毕,郝邬安常。
11 乐于时傅,皮卞齐康。
12 伍余元卜,顾孟平黄。
13 和穆萧尹,姚邵湛汪。
14 祁毛禹狄,米贝明臧。
15 计伏成戴,谈宋茅庞。
16 熊纪舒屈,项祝董梁。
17 杜阮蓝闵,席季麻强。
18 贾路娄危,江童颜郭。
19 梅盛林刁,钟徐邱骆。
20 高夏蔡田,樊胡凌霍。
21 虞万支柯,昝管卢莫。
22 经房裘缪,干解应宗。
23 丁宣贲邓,郁单杭洪。
24 包诸左石,崔吉钮龚。
25 程嵇邢滑,裴陆荣翁。
26 荀羊於惠,甄曲家封。
27 芮羿储靳,汲邴糜松。
28 井段富巫,乌焦巴弓。
29 牧隗山谷,车侯宓蓬。
30 全郗班仰,秋仲伊宫。
31 宁仇栾暴,甘钭厉戎。
32 祖武符刘,景詹束龙。
33 叶幸司韶,郜黎蓟薄。
34 印宿白怀,蒲邰从鄂。
35 索咸籍赖,卓蔺屠蒙。
36 池乔阴鬱,胥能苍双。
37 闻莘党翟,谭贡劳逄。
38 姬申扶堵,冉宰郦雍。
39 卻璩桑桂,濮牛寿通。
40 边扈燕冀,郏浦尚农。
41 温别庄晏,柴瞿阎充。
42 慕连茹习,宦艾鱼容。
43 向古易慎,戈廖庾终。
44 暨居衡步,都耿满弘。
45 匡国文寇,广禄阙东。
46 欧殳沃利,蔚越夔隆。
47 师巩厍聂,晁勾敖融。
48 冷訾辛阚,那简饶空。
49 曾毋沙乜,养鞠须丰。
50 巢关蒯相,查后荆红。
51 游竺权逯,盖益桓公。
52 万俟司马,上官欧阳。
53 夏侯诸葛,闻人东方。
54 赫连皇甫,尉迟公羊。
55 澹台公冶,宗政濮阳。
56 淳于单于,太叔申屠。
57 公孙仲孙,轩辕令狐。
58 钟离宇文,长孙慕容。
59 鲜于闾丘,司徒司空。
60 丌官司寇,仉督子车。
61 颛孙端木,巫马公西。
62 漆雕乐正,壤驷公良。
63 拓跋夹谷,宰父谷梁。
64 晋楚闫法,汝鄢涂钦。
65 段干百里,东郭南门。
66 呼延归海,羊舌微生。
67 岳帅缑亢,况郈有琴。
68 梁丘左丘,东门西门。
69 商牟佘佴,伯赏南宫。
70 墨哈谯笪,年爱阳佟。
71 第五言福,百家姓终。
72 '''
73 
74 sum = ''
75 name = input('请输入你的姓名:')
76 for c in name :
77     sum = sum + c
78     if sum in first_name:
79         print('在百家姓中')
80         break             #这个break很重要 如果在百家姓中就要出程序
81 else:
82     print('不在百家姓中')
83 #有一个bag就是如果复姓中的第一个字姓不在百家姓中,还是会判断成百家姓

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网