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 = 0128 # for i in args:129 # n += i130 # return n131 #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 = 1196 # sum = 0197 # while i < 100:198 # if i % 2 == 0:199 # sum -= i200 # else:201 # sum += i202 # i += 1203 # print(sum)204 205 206 # sum = 0207 # for i in range(1,100):208 # if i % 2 == 0:209 # sum -= i210 # else:211 # sum += i212 # print(sum)213 214 215 # 使用range 打印100,99,98,...1,0216 # for i in range(100,-1,-1):217 # print(i);218 219 220 # 计算用户输入内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)221 # count = 0222 # content = input(">>>")223 # for i in range(len(content)):224 # if i % 2 == 1 and content[i].isdigit():225 # count += 1226 # 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 = 0240 for i in content_list:241 sum += int(i)242 dic["最终计算结果"] = sum243 #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 和 77308 # # {'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输入用户名时,检测此用户名是否有board337 里面的非法字符,如果有非法字符,则将非法字符替换成同数量的*(如王二麻子替换成****),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 break352 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)
# 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。