day10知识点总结
while循环补充:
- continue,终止当前循环,开始下一次循环
- break,终止所有循环
pycharm 技巧1、setting 中搜索 mouse 设置鼠标滚轮 改变字体大小
-
运算符
- + - * / %(取余) //(取整)
- in not in
1 name = '熊大' 2 if "熊" in name: 3 print('in') 4 else: 5 print('not in') 6 7 if '小' not in name: 8 print('not in') 9 else: 10 print('in')
1、算数运算:
2、比较运算:
3、赋值运算:
4、逻辑运算:
5、成员运算:
结果是值:
算数运算: a = 10 * 10
赋值运算: a = a + 1 a+=1
结果是布尔值:
比较运算: a = 1 > 5
逻辑运算: a = 1 >6 or 1 == 1
成员运算: a = “熊” in “熊大”
-
数字
- age = 5 r = age.bit_length() print(r)-->3
#1 1
#2 10
#3 11
#4 100
#5 101
#当前数字的二进制,至少用n位表示
2. -int 将字符串转换为数字
a = “123”
print(type(a),a)-->str,123
b = int(a)
print(type(b),b)-->int,123
-
字符串
1 test = 'aLexalextXioNg' 2 #首字母大写 其他小写 3 v = test.capitalize() 4 print(v) 5 #所有小写 6 v = test.casefold() 7 print(v) 8 #将字符居中 空出来的地方填补空格(默认)或特殊字符 9 ss = 'xiong' 10 s = ss.center(20,'$') 11 print(s) 12 13 test = 'aLexalexatXioNxg' 14 #统计字符出现次数 15 v1 = test.count('x') 16 v2 = test.count('xa') 17 print(v1) 18 print(v2)
1 #endswith以**为结尾,startswith以**为开头 2 test = 'aLexalextXioNg' 3 v1 = test.endswith('g') 4 v2 = test.endswith('ng') 5 v3 = test.startswith('a') 6 v4 = test.startswith('aL') 7 print(v1,v2,v3,v4)
1 #find 从后往前找,找到第一个之后 就不再往下找了 2 #给定的范围是>= < 即 【)左闭右开区间 3 test = 'aLexalextXioNg' 4 v = test.find('ex') 5 print(v) --->2
6 #index() 也是查找字符 未找到时报错(find未找到时返回-1)
1 #format 格式化,将一个字符串中的占位符替换为指定的值 2 test = 'i am {name},age is {a}' 3 print(test) --->i am {name},age is {a} 4 v = test.format(name='xiong',a = 25) 5 print(v) --->i am xiong,age is 25
6 test = 'i am {1},age is {0}'
7 v = test.format('xiong',25)
8 print(v) --->i am xiong,age is 25
#format_map()
9 test = 'i am {name},age is {a}'
10 v2 = test.format({'name':'xiong','a':25})
1 #判断字符串中是否只包含 数字和字母 2 test1 = "xiong123ajldkgjopqg_+" 3 v = test1.isalnum() 4 print(v) --->false 5 test2 = "xiong123ajldkgjopqg" 6 v = test2.isalnum() 7 print(v) --->true
#expandtabs,以*个字符断句,有 的直接断 test = "username email password xiong xiong@qq.com 123456 xiaowang xiaowang@qq.com 987654 xiaozhang xiaozhang@qq.com 654321" v = test.expandtabs(20) print(v) """ username email password xiong xiong@qq.com 123456 xiaowang xiaowang@qq.com 987654 xiaozhang xiaozhang@qq.com 654321 """
1 #isdecimal() isdigit() 判断字符串是否是数字 2 test = "②" 3 v1 = test.isdecimal() 4 v2 = test.isdigit() 5 test = "123456" 6 v3 = test.isdecimal() 7 v4 = test.isdigit() 8 print(v1,v2,v3,v4) --->False True True True
9 test = "二”
10 v5 = test.isnumeric()
11 print(v5) --->True
1 #isprintable() 是否存在不可显示的字符 2 # 制表符 换行符 3 test = "qpoueriojkla 4521adfs" 4 v = test.isprintable() 5 print(v) --->False
## join()将字符串中的每一个元素安装指定分隔符进行拼接 test = "你是风儿我是沙" print(test) t = ' ' v1 = t.join(test) v2 = "_".join(test) print(v1,' ',v2) """ 你是风儿我是沙 你 是 风 儿 我 是 沙 你_是_风_儿_我_是_沙 """
1 #判断是否全部是大小写 和转换为大小写 2 test = "Alex" 3 v1 = test.islower() 4 v2 = test.lower() 5 print(v1,v2) 6 7 v3 = test.isupper() 8 v4 = test.upper() 9 print(v3,v4) #--->False alex False ALEX 10 11 #去掉字符串 空格、 、 12 #去掉指定字符 13 test1 = " alex " 14 v1 = test1.lstrip() 15 v2 = test1.rstrip() 16 v3 = test1.strip() 17 print(v1) 18 print(v2) 19 print(v3) 20 test2 = "xalex" 21 v4 = test2.lstrip('xa') 22 print(v4) #--->lex 23 24 test3 = "96x0alexexa" 25 v5 = test3.strip('lexxa') 26 print(v5) #--->96x0
####################字符串中常用11个魔法#######################
#join
#split
#find
# strip
# upper
# lower
# replace
###灰魔法###
# len()
# for循环
# 索引
# 切片
###深灰魔法###
字符串一旦创建就不可修改
1 """day11作业题""" 2 #1、执行python脚本的两种方式 3 1)python解释器 4 2)dos命令行 python 1.py 5 3)Linux下 用 。/1.py 6 7 #2、简述位、字节的关系 8 8位是一个字节,计算机是以字节为单位 存储时是以位为单位 9 10 # 3、简述ascii、Unicode、utf-8、gbk的关系 11 # 4、请写出“李杰”分别用 utf-8 和 gbk 编码所占的位数 12 utf-8 是6个字节 gbk是4个 13 pyhton3: 14 len("理解") ---》2 15 for item in "理解": 16 print(item) ---》理 解 17 python2: 18 len("理解") ---》6 19 for item in "理解": 20 print(item) ---》6个乱码字节 21 22 # 5、Pyhton 单行注释和多行注释分别用什么? 23 单行注释: # 24 多行注释: """ """ 25 26 # 6、声明变量注意事项有那些? 27 # 7、如有变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? 28 bit_length() 29 # 8、布尔值分别有什么? 30 True False 31 "" --->空字符串是假 32 " " --->空格字符是真 33 0 --->假 34 其他 --->真 35 36 # 10、写代码,有如下变量,请按照要求实现每个功能 37 # name = " aleX" 38 # a. 移除 name 变量对应的值两边的空格,并输入移除后的内容 #name.strip() 39 # b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果 #endswith以**为结尾,startswith以**为开头 40 # c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 41 # d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 #name.replace('l','p') 42 # e. 将 name 变量对应的值根据 “l” 分割,并输出结果。 #name.split('l') 43 # f. 请问,上一题 e 分割之后得到值是什么类型(可选)? #分隔后是列表['a','eX'] 44 # g. 将 name 变量对应的值变大写,并输出结果 #name.upper() 45 # h. 将 name 变量对应的值变小写,并输出结果 #name.lower() 46 # i. 请输出 name 变量对应的值的第 2 个字符? #name[2] 47 # j. 请输出 name 变量对应的值的前 3 个字符? #name[0:3] 48 # k. 请输出 name 变量对应的值的后 2 个字符? #name[-2:-1] 49 # l. 请输出 name 变量对应的值中“e”所在索引位置? #name.find('e') 50 # m. 获取子序列,仅不包含最后一个字符。如:oldboy 则获取oldbo;root则获取roo #"root"[:-1] 51 52 # 11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素? 53 for item in "北京欢迎你": 54 print(item) 55 56 # 12、请用代码实现: 57 #a. 利用下划线将列表的每一个元素拼接成字符串,li ="alexericrain" 58 #b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','rain'](可选) 59 li = ['alex','eric','rain'] 60 new = "_".join(li) 61 print(new) #--->alex_eric_rain 62 print("_".join("alexericrain")) #--->a_l_e_x_e_r_i_c_r_a_i_n 63 64 # 13、Python2 中的 range 和 Python3 中的 range 的区别? 65 # pyhton2 的range直接创建放在内存中,xrange要for循环一个一个去创建 66 # python3要for循环一个一个去创建 67 68 # 24、实现一个整数加法计算器: 69 # 如:content=input('请输入内容:') # 如:5+9 或 5+ 9 或 5 + 9 70 # 25、计算用户输入的内容中有几个十进制小数?几个字母? 71 # 如:content=input('请输入内容:') # 如:asduiaf878123jkjsfd-‐213928 72 73 # 27、制作趣味模板程序 74 # 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 75 # 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx 76 useript_name = input(">>>") 77 useript_place = input(">>>") 78 useript_thing = input(">>>") 79 print("敬爱可亲的{},最喜欢在{} 干{}".format(useript_name,useript_place,useript_thing)) 80 81 # 29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符: 82 # 如 "苍老师" "东京热",则将内容替换为 *** 83 84 # 30、制作表格 85 # 循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效) 86 # 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐 87 s = "" 88 while True: 89 name = input(">>>") 90 passwd = input(">>>") 91 emails = input(">>>") 92 template = "{0} {1} {2} " 93 v = template.format(name,passwd,emails) 94 s = s + v 95 96 if(name == 'Q' or passwd == 'Q' or emails == 'Q'): 97 break 98 99 print(s.expandtabs(20))