![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习打卡
hengxiaogu
这个作者很懒,什么都没留下…
展开
-
Python学习打卡--day48(练习:批量修改文件后缀名)
"""describe:批量重命名指定目录(包含子目录)下面所有文件的后缀名author:taozidate:20190719"""import osdef batch_rename(work_dir, old_ext, new_ext): """ :param work_dir: 指定目录 :param old_ext: 旧文件扩展名 :param...原创 2019-07-20 00:09:51 · 162 阅读 · 0 评论 -
Python学习打卡--day31(基础练习:Python 字符串常用方法)
# 明确:对字符串的操作方法都不会改变原来字符串的值# 字符串判断print("测试实例一")str = "runoob.com"str1 = " "print(str.isalnum()) # 判断所有字符都是数字或者字母print(str.isalpha()) # 判断所有字符都是字母print(str.isdigit()) # 判断所有字符都是数字print(str.i...原创 2019-06-03 16:49:57 · 119 阅读 · 0 评论 -
Python学习打卡--day31(基础练习:calendar库)
calendar库基础练习import calendar# 计算每个月天数monthRange = calendar.monthrange(2019, 6)print(monthRange)# 生成日历yy = 20109mm = 4# 显示日历print(calendar.month(yy, mm))#打印出一个月日历(html)cal = calendar.HT...原创 2019-06-03 14:56:09 · 145 阅读 · 0 评论 -
Python学习打卡--day38(算法练习:二分查找)
使用二分查找法,返回值的索引方法一:# 返回 x 在 arr 中的索引,如果不存在返回 -1def binarySearch(arr, l, r, x): # 基本判断 if r >= l: mid = int(l + (r - l) / 2) # 元素整好的中间位置 if arr[mid] == x: ...原创 2019-06-14 00:03:26 · 142 阅读 · 0 评论 -
Python学习打卡--day30(算法练习:阶乘相加等)
分数序列求和一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。"""有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。分析:分母是前一个数的分子,分子是前一个数的分子+分母之和"""x = 2y = 1sum = 0for i in range(20): number = x...原创 2019-06-02 22:12:13 · 507 阅读 · 0 评论 -
Python学习打卡--day34(基础练习: Python list 常用操作)
# Python list 常用操作# 1.list 定义li = ["a", "b", "mpilgrim", "z", "example"]print(li) # ['a', 'b', 'mpilgrim', 'z', 'example']print(li[1]) # b# 2.list 负数索引print(li[-1]) # exampleprint(li[-3]) ...原创 2019-06-07 19:06:35 · 103 阅读 · 0 评论 -
Python学习打卡--day29(基础学习:匿名函数lambda)
基础练习# 匿名函数lambda,返回的是一个函数对象(function object)# 求函数平方def square(x): return x ** 3print(square(4))square_1 = lambda x: x ** 3print(square_1(4))# lambda 可以用在列表内部,而常规函数却不能:# 对列表数据做平方操作l...原创 2019-06-01 23:38:42 · 126 阅读 · 0 评论 -
Python学习打卡--day29(基础学习:闭包例子)
小例子一# 闭包小栗子def who(name): def do(what): print("{} say:{}".format(name, what)) return dolucy = who('luch')lily = who('lily')lucy('i want to eat fish')lily('it is ok')打印项目日志...原创 2019-06-01 22:28:26 · 90 阅读 · 0 评论 -
Python学习打卡--day33(练习:优化搜索引擎)
优化搜索引擎"""搜索引擎:支持按照顺序搜索单词,返回所在文件位置"""from test06.test0605.search_base import *import reclass BOWInvertedIndexEngine(SearchEngineBase): def __init__(self): super(BOWInvertedIndexEn...原创 2019-06-06 23:54:58 · 192 阅读 · 0 评论 -
Python学习打卡--day37(例题练习:移除字符串中的指定位置字符等 )
移除字符串中的指定位置字符"""移除字符串中的指定位置字符"""test_str = "Runoob"print("原始字符串:", test_str)# 移除第三个字符 n# 方法一:切片+拼接n = 3str_new = test_str[:n - 1] + test_str[n:]print("字符移除后:", str_new)# 方法二:new_str = ""f...原创 2019-06-12 22:49:50 · 226 阅读 · 0 评论 -
Python学习打卡--day32(练习:简单搜索引擎)
基础类"""SearchEngineBase可以被继承,继承的类分别代表不同的算法引擎;每一个引擎都应该实现process_corpus 和 search 函数"""class SearchEngineBase(object): def __init__(self): pass # 添加语料:读取文件内容,将文件路径作为ID,连同内容一起送到pr...原创 2019-06-05 23:09:23 · 159 阅读 · 0 评论 -
Python学习打卡--day27(算法练习:打印菱形等)
打印菱形"""打印出如下图案(菱形): * *** ************ ***** *** *第一层控制行,第二层控制列"""for i in range(4): for j in range(2 - i + 1): print(' ', end="") for k in range(2 * i + 1): ...原创 2019-05-28 22:37:33 · 154 阅读 · 0 评论 -
Python学习打卡--day24(算法练习:计算球第10次落下反弹高度)
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?"""_author:taozi_date:20190523_describe:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?"""high = 100sum = 0for n in ...原创 2019-05-23 23:29:41 · 1476 阅读 · 1 评论 -
Python学习打卡--day35(算法练习:约瑟夫生者死者小游戏 )
约瑟夫生者死者小游戏"""30 个人在一条船上,超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。报数,从 1 开始,数到 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?"""peoples = {}for x in range(1, 31): peoples[x] = 1print(peoples)i = 1j...原创 2019-06-09 23:07:32 · 567 阅读 · 0 评论 -
Python学习打卡--day39(算法练习:线性查找)
线性查找"""线性查找"""def search(arr, x): for i in range(0, len(arr)): if arr[i] == x: return i return -1arr = ['A', 'B', 'C', 'D', 'E']x = 'B'result = search(arr, x)if r...原创 2019-06-14 23:34:29 · 170 阅读 · 0 评论 -
Python学习打卡--day39(算法练习:插入排序)
"""插入排序:是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。"""arr = [12, 11, 13, 20, 5, 6, 1]for i in range(0, len(arr) - 1): for j in range(i + 1, 0, -1): # 比较两个数大小,重新排列 ...原创 2019-06-15 00:42:30 · 172 阅读 · 0 评论 -
Python学习打卡--day45(练习:分析数据并且写入excel表)
分析接口数据,按照indicator和topic的关联关系写入excel表写入excel表的类write_excel.pyimport openpyxlclass WriteExcel: def __init__(self): self.wbname = './indicator.xlsx' self.wb = openpyxl.load_wo...原创 2019-06-29 01:05:32 · 294 阅读 · 0 评论 -
Python学习打卡--day44(基础练习:递归函数)
递归函数学习如果一个函数在内部调用自身本身,这个函数就是递归函数。 在使用递归时,需要注意以下几点:(1).自己调用自己。(2).必须有一个明确的递归结束条件,称为递归出口。"""递归函数学习在使用递归时,需要注意以下几点:(1).自己调用自己。(2).必须有一个明确的递归结束条件,称为递归出口。"""# 练习1:使用递归函数向控制台打印3,2,1def pr...原创 2019-06-27 23:53:33 · 187 阅读 · 0 评论 -
Python学习打卡--day46(练习:密码输出三次重试等)
简单python小程序练习:1、输出1~100之间所有的偶数2、输出1~100之间所有的奇数3、输出1-2+3-4+…+99-100的和4、用户登录三次重试(用户名输错则重新输入,密码输错三次则重新输入用户名和密码)"""简单小程序练习:1、输出1~100之间所有的偶数2、输出1~100之间所有的奇数3、输出1-2+3-4+...+99-100的和4、用户登录三次重试(用户...原创 2019-07-03 08:08:52 · 201 阅读 · 0 评论 -
Python学习打卡--day42(算法练习:二叉树排序)
"""二叉树遍历"""class Node: def __init__(self, value=None, left=None, right=None): self.value = value self.left = left # 左子树 self.right = right # 右子树 # 前序遍历:根左右 DBACEG...原创 2019-06-24 12:53:16 · 123 阅读 · 0 评论 -
Python学习打卡--day43(基础练习:装饰器)
当一个函数中,不同逻辑混杂在一起的时候,程序的可读性会大打折扣。这个时候,可以考虑用一种叫做“装饰器”的东西来重新整理代码。# 判断一个数是不是质数def is_prime(num): if num < 2: return False elif num == 2: return True else: for i ...原创 2019-06-26 23:39:03 · 134 阅读 · 0 评论 -
Python学习打卡--day47(练习:列表组合后去重)
"""列表组合后去重date:20190707"""# 列表组合后抛开重复值# 方法一:循环遍历去除重复项后在写入list1 = [1, 2, 3, 4]list2 = [2, 3, 4, 5, 6]list3 = list1 + list2print(list3)list4 = []for x in list3: if x not in list4: ...原创 2019-07-08 00:11:51 · 200 阅读 · 0 评论 -
Python学习打卡--day47(练习:数组中按照出现次数排序)
# 1、给定一个非空正整数的数组,按照数组内数字重复出现次数,从高到低排序list = [1, 1, 1, 6, 6, 7, 3, 9]d = {}list_sorted = []for i in list: d[i] = list.count(i)print(d)# 根据字典值的降序排序d_sorted = sorted(d.items(), key=lambda x: x...原创 2019-07-07 23:53:09 · 1668 阅读 · 0 评论 -
Python学习打卡--day40(算法练习:快速排序)
"""快速排序:1-挑挑选基准值:从数列中挑出一个元素,称为"基准"(pivot);2-分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(3-递归排序子序列:"""def partition(arr, low, high): # arr[] --> 排序数组 # low --> 起始索引 # high ...原创 2019-06-16 23:00:55 · 144 阅读 · 0 评论 -
Python学习打卡--day36(例题练习:实现秒表功能 )
实现秒表功能import timeprint('按下回车键开始计时,ctrl+c停止计时')while True: try: input() start_time = time.time() print('开始...') while True: print('计时:{} 秒'.format(ro...原创 2019-06-10 22:33:23 · 441 阅读 · 0 评论 -
Python学习打卡--day36(算法练习:计算 n 个自然数的立方和 )
"""计算 n 个自然数的立方和计算公式 13 + 23 + 33 + 43 + …….+ n3"""from functools import reduce# 定义立方和的函数def sumOfCube(n): num = list(range(1, n + 1)) num = map(lambda x: x ** 3, num) sum = reduce...原创 2019-06-10 22:31:52 · 2315 阅读 · 0 评论 -
Python学习打卡--day41(算法练习:冒泡排序)
方法一"""冒泡排序1-重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来2-这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端"""def bubbleSort(arr): j = len(arr) while j > 2: for i in range(0, j - 1): ...原创 2019-06-19 23:36:38 · 174 阅读 · 0 评论 -
Python学习打卡--day41(算法练习:选择排序)
"""选择排序1-在未排序序列中找到最小(大)元素,存放到排序序列的起始位置2-再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾"""A = [64, 25, 12, 22, 11]for i in range(0, len(A)): for j in range(i + 1, len(A)): if A[i] > A[j]: ...原创 2019-06-19 22:40:08 · 124 阅读 · 0 评论 -
Python学习打卡--day24(基础练习:列表和元素)
列表和元组练习# 列表动态可变;元组静态不可变list_1 = [1, 2, 3, 4]list_1[3] = 40list_1.append(5)print(list_1)tup = (1, 2, 3, 4)# tup[3] = 40print(tup)# 对已有的元组做改变tup = (1, 2, 3, 4)new_tup = tup + (5,)print(new_...原创 2019-05-23 22:56:39 · 147 阅读 · 0 评论 -
Python学习打卡--day28(基础学习:闭包)
学习参考文档:https://blog.csdn.net/sc_lilei/article/details/80464645# 三个经典闭包案例# no 1 闭包函数引用的变量是父函数的参数def line_conf(a, b): def line(x): return a * x + b return line# 定义两条直线line_A = ...原创 2019-05-30 18:03:16 · 85 阅读 · 0 评论 -
Python学习打卡--day06(SMTP发送邮件)
#!/usr/bin/env python# -*- coding:utf-8 -*-import smtplibimport email.mime.multipartimport email.mime.textdef send_email(SMTP_host, from_addr, password, to_addrs, subject='', content=''): ...原创 2019-04-30 17:55:46 · 293 阅读 · 0 评论 -
Python学习打卡--day13(第一个GUI:用户登录)
使用Tkinter编写的第一个GUI:用户登录页面import tkinterimport tkinter.messagebox as messageboxUSER_NAME = "chengtaoling"USER_PASSWORD = "taozi520"# 创建一个窗口window = tkinter.Tk()# 设置窗口标题window.title('登录页面')...原创 2019-05-08 17:25:42 · 135 阅读 · 1 评论 -
Python学习打卡--day10(单元测试)
编写一个Dict类,这个类的行为和dict一致,但是可以通过属性来访问# mydict.pyclass Dict(dict): def __init__(self, **kw): super().__init__(**kw) def __getattr__(self, key): try: return self[...原创 2019-05-05 22:15:46 · 125 阅读 · 0 评论 -
Python学习打卡--day03(sys模块)
sys模块的常见函数列表sys.argv: 实现从程序外部向程序传递参数。 sys.exit([arg]): 程序中间的退出,arg=0为正常退出。sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。sys.setdefaultencoding():设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload...原创 2019-04-24 23:17:22 · 108 阅读 · 0 评论 -
Python学习打卡--day03(偏函数)
偏函数偏函数 functools.partial 的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单int()函数为例:不带参数调用时默认按十进制转换;参数中设置bease = 2表示默认按二级制转换,为了方便调用,将其设置成偏函数。import functoolsa = int('12345') # int()函数默认按十进制...原创 2019-04-24 21:49:18 · 111 阅读 · 0 评论 -
Python学习打卡--day09(错误处理)
捕获异常:try…except…finally"""try 捕获异常"""try: print('try...') r = 10 / int('0') print('result:', r)except ValueError as e: print('valueError:', e)except ZeroDivisionError as e: ...原创 2019-05-04 20:35:20 · 117 阅读 · 0 评论 -
Python学习打卡--day05(python操作json)
使用python3读取json文件,使用encoding防止乱码import jsonclass OperationJson: def __init__(self): self.data=self.read_data() #读取json文件 def read_data(self): with open("../dataconfig/l...原创 2019-04-28 21:07:10 · 126 阅读 · 0 评论 -
Python学习打卡--day08(面向对象)
面向对象编程:访问限制"""面向对象编程:访问限制请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:"""class Student(object): def __init__(self, name, gender): self.__name = name ...原创 2019-05-03 22:50:59 · 100 阅读 · 0 评论 -
Python学习打卡--day02(装饰器应用之登录)
装饰器应用之登录原创 2019-04-24 00:12:30 · 158 阅读 · 0 评论 -
Python学习打卡--day07(request简单使用)
get请求res2 = requests.get(url='http://127.0.0.1:8000/user/?username=taozi&mobile=18576409155&date=20181206')print(res2.json())post请求rom django.test import TestCaseimport requestsim...原创 2019-05-02 21:48:36 · 155 阅读 · 0 评论