博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 基础复习 09 之基础函数
阅读量:6277 次
发布时间:2019-06-22

本文共 8064 字,大约阅读时间需要 26 分钟。

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)
# 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。

 

转载于:https://www.cnblogs.com/pioneerLee/p/10192718.html

你可能感兴趣的文章
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>
政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
查看>>
简单易懂的谈谈 javascript 中的继承
查看>>
iOS汇编基础(四)指针和macho文件
查看>>
Laravel 技巧锦集
查看>>
Android 使用 ViewPager+RecyclerView+SmartRefreshLayout 实现顶部图片下拉视差效果
查看>>
Flutter之基础Widget
查看>>
写给0-3岁产品经理的12封信(第08篇)——产品运营能力
查看>>
ArcGIS Engine 符号自动化配置工具实现
查看>>
小程序 · 跳转带参数写法,兼容url的出错
查看>>
flutter error
查看>>
Flask框架从入门到精通之模型数据库配置(十一)
查看>>
10年重新出发
查看>>
2019年-年终总结
查看>>
聊聊elasticsearch的RoutingService
查看>>