关键词
- 数据类型
- int, bool, str之间的相互转换
- 字符串的索引与切片
- 字符串的操作
数据类型
int 1 2 3 用于计算
bool True False 用户判断
str 'haojile' 存储少量数据 进行操作
list ['xiaoming', 123] 存储大量数据
元祖 ('haojile', 1, 23)
dict {'name':'xiaoming', 'age':16, 'sex':'nan'}
集合 {1, 2, 3, 'asdf’}
int, str, bool之间的相互转化
# int >> stri = 1s = str(i)# str >> inti = int(str)# int >> bool # 只要是0, False,其他为Trueb = bool(i)print(b)# 后者效率高while True: passwhile 1: pass# str >> bool# 非空字符串都是Truesif s: print('你输入的为空,请重新输入')else: pass
字符串的索引和切片
# 字符串的索引与切片s = 'hello,world'# 索引print(s[0])print(s[2])print(s[-1])print(s[-2])#切片 print(s[0:5]) #helloprint(s[:]) print(s[0:0])print(s[0:5:2] #[start,end,step]print(s[4:0:-1]) # olleprint(s[4::-1]) # ollehprint(s[4::-2]) # olhprint(s[-1::-1]) # dlrow,ollehprint(s[::-1])
字符串的操作
1 # 字符串的操作 2 s = 'forDIGNITY' 3 4 s1 = s.capitalize() # 首字母大写 5 s2 = s.upper() # 全部大写 6 s3 = s.lower() # 全部小写 7 print(s1, s2, s3) 8 9 # 验证码是否正确,不区分大小写, 三次机会 10 # verifyCode = 'ABcd' 11 # i = 0 12 # while i < 3: 13 # temp = input('请输入验证码: ') 14 # if temp.upper() == verifyCode.upper(): 15 # print('输出正确') 16 # else: 17 # print('请重新输入') 18 # i += 1 19 20 # 大小写翻转 21 s4 = s.swapcase() 22 print(s4) 23 24 # 每个隔开(特殊字符或者数字)的单词字母大写 25 s = 'hello world3i am%larry' 26 s5 = s.title() 27 28 # 居中, 空白填充 29 s = 'guess' 30 s6 = s.center(8) 31 s7 = s.center(20, '#') 32 33 # \t = 8 - 之前字符 34 s = 'gue\tss' 35 s8 = s.expandtabs() 36 37 # 计算长度,汉字算作一 38 s = 'hello小明' 39 s9 = len(s) 40 print(s4, s5, s6, s7, s8, s9) 41 42 # 是否以特定字母开头或结尾 43 s = 'freedom the best' 44 s10 = s.startswith('free') 45 46 if s10: 47 pass 48 49 s11 = s.startswith('d', 4,6) 50 print(s10, s11) 51 52 # find通过元素找索引,找不到返回-1 53 # index通过元素着索引,找不到报错 54 s12 = s.find('e') 55 s13 = s.index('e') 56 print(s12, type(s13)) 57 58 # strip默认删除前后空格 59 # 指定字符,从前后删除,删完即停 60 s = ' &love&story% ' 61 s14 = s.strip() 62 s15 = s14.strip('&%') 63 print(s12, s13, s14, s15) 64 65 # strip情景案例 66 # 有时候会习惯性键入空格,导致出错,strip贴心守护 67 username = input('请输入名字:').strip() 68 if username == 'xiaoming': 69 print('you got it!') 70 71 # 删除左边空格 72 s17 = s.lstrip() 73 74 # 删除右边空格 75 s18 = s.rstrip() 76 77 # 计算元素或者切片出现的次数 78 s = 'nothing is perferct' 79 s19 = s.count('no') 80 s20 = s.count('e') 81 print(s19, s20) 82 83 # str -- list 84 s = ';harry;potter;glory' 85 s21 = s.split(';') 86 print(s21) 87 88 # format的三种方法,格式化输出 89 s = '我是{},年龄{},性别{}, 再说一次我叫{}'.format('xiaoming', 18, 'nan', 'xiaoming') 90 print(s) 91 92 s = '我是{0},年龄{1},性别{2},再说一次我叫{3}'.format('xiaoming', 18, 'nan') 93 print(s) 94 95 s = '我是{name},年龄{age},性别{sex}, 再说一次我叫{name}'.format(name ='xiaoming', sex='nan', age=18) 96 print(s) 97 98 # 替换 99 s = '哦啊哥好饿好皇宫护卫哦佛好饿好我'100 s22 = s.replace('好饿','明显')101 s23 = s.replace('好饿','明显', 1)102 print(s22, s23)103 104 # for105 s = 'haojile'106 for i in s:107 print(i)108 109 # 敏感词汇查找110 s = 'fs苍井空hhaha'111 if '苍井空' in s:112 print('您的评论里有敏感词汇..')
习题
字符串的切片
# 字符串的切片s = '132a4b5c'# 132print(s[0:3])# a4bprint(s[3:6])# 1245print(s[0:7:2])# 3abprint(s[1:6:2])# cprint(s[-1])# ba3print(s[5:0:-2])
字符串的操作
# 在变量name = " aleX laNb " 完成如下操作name = " aleX laNb "# 移除name变量中的空格,并输出处理结果n1 = name.strip()print(n1)# 移除n1中的al,并输出n2 = n1[2:]print(n2)# 移除n1中的Nb,并输出n3 = n1[:-2]print(n3)# 移除n1开头的a和结尾的b,并输入n4 = n1[1:-1]print(n4)# 判断n1是否是以al开头n5 = n1.startswith('al')print(n5)# 判断n1是否以Nb结尾n6 = n1.endswith('Nb')print(n6)# 将n1中所有的l都替换成p,并输出n7 = n1.replace('l', 'p')print(n7)# 将n1中的第一个l替换成p,并输出n8 = n1.replace('l', 'p', 1)print(n8)# 将n1中的值根据所有的l分割,并输出n9 = n1.split('l')print(n9)# 将n1中的值根据第一个l分割,并输出n10 = n1.split('l', 1)print(n10)# 将n1中对应的值大写,并输出n11 = n1.upper()print(n11)# 将n1中对应的值小写,并输出n12 = n1.lower()print(n12)# 将n1中对应的值首字母a大写,并输出n13 = n1.title()print(n13)# 判断n1中对应字幕l出现几次,并输出n14 = n1.count('l')print(n14)# 如果判断n1中前四位l出现几次,并输出n15 = n1.count('l', 4)print(n15)# 找到N对应的索引,如果找不到则报错,并输出n16 = n1.index('N')print(n16)# 找到x对应的索引,如果找不到则返回-1,并输出n17 = n1.find('x')print(n17)# 找到X le对应的索引,并输出结果n18 = n1.find('X la')print(n18)# 反转n19 = n1.reverse()print(n19) # 大小写反转n20 = n1.swapcase()print(n20)
for & while 遍历字符串中的元素
# 使用while和for循环分别打印字符串s='asdfer'中的每个元素s = 'asdfer'# forfor i in s: print(i)# whilei = 0while i < len(s): temp = s[i] print(temp) i += 1
加法计算器
# 实现一个加法计算器# 如:content = input('请输入内容: ')# 如用户输入: 5+9 5+ 9 5 + 9# 先进行分割在加和计算content = input('>>>').strip().split('+')sum = 0for i in content: sum += int(i)print(sum)
求出字符串中整数的个数
# 计算用户输入的内容有几个整数# 如:content = input('请输入内容: ') # 如 fsssae3fh890j = 0content = input('请输入内容: ').strip()for i in content: if i.isdigit(): j += 1 print(j)# whilek = 0count = 0content = input('请输入内容: ').strip()while k < len(content): if content[k].isdigit(): count += 1 k += 1print(count)