python全栈开发day10

day10知识点总结

while循环补充:

  1. continue,终止当前循环,开始下一次循环
  2. break,终止所有循环

pycharm 技巧1、setting 中搜索 mouse 设置鼠标滚轮 改变字体大小

  • 运算符

  1. + - * / %(取余) //(取整)
  2. 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 “熊大”

  •  数字

      1.   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,以*个字符断句,有\t \n 的直接断
test = "username\temail\tpassword\nxiong\txiong@qq.com\t123456\nxiaowang\txiaowang@qq.com\t987654\nxiaozhang\txiaozhang@qq.com\t654321"

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 #\t 制表符 \n  换行符
3 test = "qpoueriojkla\t4521adfs"
4 v = test.isprintable()
5 print(v)    --->False
## join()将字符串中的每一个元素安装指定分隔符进行拼接
test = "你是风儿我是沙"
print(test)
t = ' '
v1 = t.join(test)
v2 = "_".join(test)
print(v1,'\t',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 #去掉字符串 空格、\t、\n
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}\t{1}\t{2}\n"
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))

 

 
posted @ 2018-09-28 14:22  XJT2019  阅读(205)  评论(0编辑  收藏  举报