1 # 不用len()
2 # s = "景老板小护士"
3 # i = 0
4 # for k in s:
5 # i += 1
6 # print(i)
7
8 # def my_len():
9 # i = 0
10 # for k in s:
11 # i += 1
12 # return i
13 # length = my_len()
14 # print(length)
15
16 # 函数
17 # 定义了一个函数之后,可以在任何需要它的地方调用它
18 # 没有返回长度,就只是单纯的打印
19
20
21 # 返回值的三种情况:
22 # 没有返回值
23 # 不写return
24 # 只写return : 代表结束一个函数的继续
25 # 返回一个值
26 # 可以返回任何数据类型
27 # 只要返回就可以接收到
28 # 返回多个值
29 # 返回多个值的情况下,可以有多个变量去接受
30
31
32 # def func():
33 # l = ["静老板", "六哥"]
34 # for i in l:
35 # print(i) # 没有返回值 怎么判断呢 看看有没有返回值
36 # return # 执行了return以后 ,return那么后面的代码就不执行了
37 # # print("蜘蛛") # -----> 不执行了
38 # ret = func()
39 # print(ret)
40
41
42 # def func():
43 # l = ["老蔡", "老谢"]
44 # for i in l:
45 # if i == "老蔡":
46 # break # break 是结束循环 后面的还会执行 如例子: 会执行print("=" * 10)
47 # # return # return 是结束这个函数 后面的就不会执行了
48 # print("=" * 10)
49 # ret = func()
50 # print(ret)
51
52 # def func():
53 # return {"k": "2"}
54 # print(func())
55
56 # def func2():
57 # return 1,2
58 # r1,r2= func2()
59 # print(r1,r2) # 返回多个值的情况下,可以有多个变量去接收
60
61 # def func2():
62 # return 1,2,3,4
63 # r1 = func2()
64 # print(r1) # 返回多个值的情况下,一个变量接收,返回的是一个元祖 (1, 2, 3, 4)
65
66
67 # def my_len(s): # 形参
68 # i = 0
69 # for i in s:
70 # i += 1
71 # return i # 返回值
72 # s = "战胜蜘蛛"
73 # ret = my_len(s) # 传递参数;传参 (实际参数)实参
74 # ret = my_len([1,2,3,4,5]) # 传递参数;传参 实参
75 # print(ret)
76
77
78 # def f1(l1):
79 # for i in l1:
80 # print(i)
81 #
82 # def f2(l1):
83 # f1(l1)
84 # for i in l1:
85 # print(i)
86 #
87 # f2([1,2,3,4])
88
89
90
91 # def my_sum(a,b): # a,b ---> 位置参数
92 # res = a + b
93 # return res
94 #
95 # ret = my_sum(1,2) # 也可以 a = 1 ,b = 2 or 1,b = 2 但不能 1,a = 2 报错
96 # print(ret)
97
98 # 站在实参的角度上:
99 # 按照位置传参
100 # 按照关键字传参
101 # 混着用可以;但是必须先按照位置传参,在按照关键字传参
102 # 不能给同一个变量传多个值
103
104
105 # 站在形参的角度上:
106 # 位置参数:必须传,且有几个参数,就传几个值
107 # 默认参数:可以不出传,如果不传就用默认的参数,如果传了就用传的参数
108 # def classmates(name,sex):
109 # # print('{} {}'.format(name,sex))
110 # print("%s : %s"%(name,sex))
111 #
112 # print("蜘蛛","nan")
113 # print("老虎", "nv")
114
115 # 只有调用函数的时候:
116 # 按照位置传参:直接写参数的值
117 # 按照关键字: 关键字 = 值
118
119 # 定义函数的时候:
120 # 位置参数:直接定义参数
121 # 默认参数:关键字参数; 参数名 = “默认的值”
122 # 动态参数:可以接受任意多个参数
123 # 顺序:必须先定义位置参数,后定义默认参数
124
125
126 # def sum(*args):
127 # n = 0
128 # for i in args:
129 # n += i
130 # return n
131 #
132 # print(sum(1,2,3))
133 # print(sum(4,5,6))
134
135 # def func(**kwargs):
136 # print(kwargs)
137 #
138 # func(a = 1,b = 3)
139
140
141 # 动态参数有两种
142 # *args : 接受的是按照位置参数传参的值,返回的是一个元祖
143 # **kwargs : 接受的是按照关键字传参的值,返回的是一个字典
144
145
146
147
148
149
150
151 # 习题练习
152 # 写代码,有如下列表,利用切片实现每一个功能
153 # li = [1,3,2,"a",4,"b",5,"c"]
154 # 1)通过li列表的切片形成新的列表l3,l3 = [1,2,4,5]
155 # l3 = li[::2]
156 # print(l3)
157 # 2)
158 # l4 = li[1:-2:2]
159 # print(l4)
160 # li = [1,3,2,"a",4,"b",5,"c"]
161 # 3)
162 # l5 = li[-1:]
163 # print(l5)
164 # 4)
165 # li = [1,3,2,"a",4,"b",5,"c"]
166 # l6 = li[-3:0:-2]
167 # print(l6)
168
169
170
171 # lis = [["k",["qwe",20,{"k1":["tt",3,"1"]},89],"ab"]]
172 # lis[0][1][2]["k1"][0] = "TT"
173 # lis[0][1][2]["k1"][0] = lis[0][1][2]["k1"][0].upper()
174 # print(lis)
175 # lis = [["k",["qwe",20,{"k1":["tt",3,"1"]},89],"ab"]]
176 # lis[0][1][2]["k1"][1] = "100"
177 # print(lis)
178
179
180 # dic = {"k1":"v1","k2":["alex","sb"],(1,2,3,4,5):{"k3":["2",100,"wer"]}}
181 # dic["k2"].append("23")
182 # print(dic)
183
184
185 # li = ["alex","wusir","rain"]
186 # s1 = "".join(li) # join 可以把列表变成字符串
187 # print(s1)
188
189 l1 = "alexwusirrain"
190 s2 = l1.split("l") # split可以让字符串变成列表
191 print(s2)
192
193
194 # 分别使用while循环,和for循环打印1-2+3-4+5....+99 的结果。
195 # i = 1
196 # sum = 0
197 # while i < 100:
198 # if i % 2 == 0:
199 # sum -= i
200 # else:
201 # sum += i
202 # i += 1
203 # print(sum)
204
205
206 # sum = 0
207 # for i in range(1,100):
208 # if i % 2 == 0:
209 # sum -= i
210 # else:
211 # sum += i
212 # print(sum)
213
214
215 # 使用range 打印100,99,98,...1,0
216 # for i in range(100,-1,-1):
217 # print(i);
218
219
220 # 计算用户输入内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)
221 # count = 0
222 # content = input(">>>")
223 # for i in range(len(content)):
224 # if i % 2 == 1 and content[i].isdigit():
225 # count += 1
226 # print(count)
227
228 """
229 实现一个整数加法计算器:
230 如:content = input("请输入内容:") # 如用户输入:5+8+7..(最少输入
231 两个数相加),然后进行分割在进行计算,将最后的计算结果添
232 加到字典中(替换None):
233 dic = {"最终计算结果":None}。
234 """
235 dic = {}
236 content = input("请输入内容:").strip()
237 content_list = content.split("+")
238 print(content_list)
239 sum = 0
240 for i in content_list:
241 sum += int(i)
242 dic["最终计算结果"] = sum
243 #
244 print(dic)
245
246 """
247 查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,
248 并以"c"结尾的所有元素,并添加到一个新的列表中,最后循环打印出这个新的列表。
249 """
250
251 # li = ['taibai','alexC','AbC','egon','Ritian','Wusir',' aqc']
252 # ls1 = []
253 # for i in li:
254 # if (i.strip().startswith("A") or i.strip().startswith("a")) and i.strip().endswith("c"):
255 # ls1.append(i.strip())
256 # for x in ls1:
257 # print(x)
258 # print(ls1)
259
260
261 # 第二中方法
262 # ls2 = []
263 # for i in li:
264 # s = i.strip()
265 # if s[0].upper() == "A" and s[-1] == "c":
266 # ls2.append(s)
267 # for x in ls2:
268 # print(x)
269
270
271 # 补充代码(从已有的代码 继续写):
272 # 有如下值li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
273 # 将所有大于 66 的值保存至字典的.第一个key中,将小于 66 的值
274 # 保存至第二个key的值中。
275 # li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
276 # result = {}
277 # for row in li:
278
279 # li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
280 # result = {}
281 # for row in li:
282 # if row > 66:
283 # if 'k1' not in result: # 只走一次if 走完 也就是创建完列表之后,就不会再走了 之后就是直接走添加了
284 # result['k1'] = []
285 # result['k1'].append(row)
286 # else:
287 # if 'k2' not in result:
288 # result['k2'] = []
289 # result['k2'].append(row)
290 # print(result)
291
292
293 # li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
294 # result = {}
295 # for row in li:
296 # if row > 66:
297 # if 'k1' not in result:
298 # result['k1'] = []
299 # else:
300 # result['k1'].append(row)
301 # else:
302 # if 'k2' not in result:
303 # result['k2'] = []
304 # else:
305 # result['k2'].append(row)
306 # print(result)
307 # # 输出结果是如下 但是 少了11 和 77
308 # # {'k2': [22, 33, 44, 55], 'k1': [88, 99, 90]}
309
310
311 #另一种方法
312
313 # li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
314 # result = {}
315 # for row in li:
316 # result.setdefault('k1',[]) # setdefault 有 就什么都不干 没有就添加
317 # result.setdefault('k2',[])
318 # if row > 66:
319 # result['k1'].append(row)
320 # else:
321 # result['k2'].append(row)
322 # print(result)
323
324
325 """
326 写程序:模拟公司hr录入员工账号密码的程序。
327 1),员工的账号密码存储在这种数据类型中
328 user_list = [
329 {'username':'barry','password':'1234'},
330 {'username':'alex','password':'asdf'}
331 ]
332
333 2),非法字符模板:board = ['张三','李小四','王二麻子']
334
335 3),Hr输入用户名,密码(可持续输入,如果想终止程序,那就在输入用户名
336 时输入Q或者q退出程序),在Hr输入用户名时,检测此用户名是否有board
337 里面的非法字符,如果有非法字符,则将非法字符替换成同数量的*(如王二麻子替换成****),
338 然后添加到user_list中,如果没有非法字符,则直接添加到user_list中,每次添加成功后,打印出刚添加的用户名,密码。
339 """
340
341 user_list = [
342 {'username':'barry','password':'1234'},
343 {'username':'alex','password':'asdf'}
344 ]
345
346 board = ['张三','李小四','王二麻子']
347
348 while 1:
349 username = input('用户名:')
350 if username.upper() == 'Q':
351 break
352 password = input('密码:')
353 for i in board:
354 if i in username:
355 username = username.replace(i,"*"*len(i))
356 user_list.append({'username':username,'password':password})
357 print({'username':username,'password':password})
358 print(user_list)
# 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。