python 基础复习 09 之基础函数

摘要:
195#i=1196#sum=0197#whilei˂100:198#ifi%2==0:199#sum-=i200#其他:201#sum+=i202#i+=1203#打印(总和)204205206#sum=0207#范围(1100):2
  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)

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

免责声明:文章转载自《python 基础复习 09 之基础函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何解决线程安全问题一次Oracle修改最大连接数,导致oracle重启后无法登陆实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python基础:第一个Python程序(2)

1.Python Shell 1.1 Windows命令 (1)【开始】|【运行】,输入cmd回车,进入Windows命令界面。 (2)输入python,回车,进入Python Shell。 1.2 IDLE Python开始菜单中点击IDLE,启动Python Shell。 2.Python文件 2.1 py源码文件 hello_world.py:...

python 常见细节知识点

1. a[::-1]翻转 设有一个元组或者列表 a = (1,2,3,4) b = [1,2,3,4] 则a[::-1]和b[::-1]的含义是将元组或列表的内容翻转 a[::-1] #结果为(4,3,2,1) b[::-1] #结果为[4,3,2,1] 注意和a[:-1]的区别 a[:-1]表示从元组中切片,默认从第一个元素开始,到倒数第一个...

安装pysqlite2

1. 从https://github.com/msabramo/pysqlite2 下载源码。 2.安装python-dev:sudo apt-get install python-dev否则在 编译或安装过程中,可能会出现 错误:error:Python.h No such file or directory 。注意,不同的Linux发行版的安装命令可...

python电脑结构、ARP协议、单位转换、字节bytes、字符串与字节关系等知识总结

目录 一、计算机五大部件 二、程序运行的过程 三、ARP协议 四、单位转换 五、数据类型:字节bytes 六、字符串和字节的关系 一.计算机五大部件 电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器。 我们把键盘和鼠标叫输入设备。 输入设备: 向电脑输入数据和信息的设备。除了键盘。除了键盘鼠标,其他输入设备还包括触...

Selenium+Python:下载文件(Firefox 和 Chrome)

引自  https://blog.csdn.net/Momorrine/article/details/79794146 1.      环境 操作系统 Win10 IDE Eclipse (Oxygen 4.7)+ PyDev 5.9.2 (JDK1.8) Python 3.5 Selenium selenium-3.9.0-py2.py...

Python中的函数参数有冒号 声明后有-&amp;gt; 箭头

在python3.7 环境下 函数声明时能在参数后加冒号,如图: def f(ham: str, eggs: str = 'eggs') -> str : print("Annotations:", f.__annotations__) print("Arguments:", ham, eggs) return ham...