自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 打印自定义行数的杨辉三角形

打印出杨辉三角形,要求可以自定义行数杨辉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 ...

2021-08-04 17:51:19 557

原创 自定义实现str.count函数

# 1. 判断第一个参数和第二个参数是否是字符串类型,不是则返回错误信息# 2. 判断start是None或者int类型,不是则返回错误信息# 3. 判断end是None或者int类型,不是则返回错误信息# 4. 如果start==None,重新赋值为0,说明从字符串起始位置开始计算# 5. 如果end==None,重新赋值为len(s),说明到字符串最后位置结束# 6. 如果子串是空串,则返回len(s)+1,在字符串s的每个字符间找空串# 7. 如果end<0,重新赋值为len(s)-

2021-07-08 16:45:46 513

原创 Python实现find方法

自定义实现str中的find方法:1. 如果子串在字符串中第一次出现的位置2. 如果没有找到,返回-1def find(s, targer_str): # 如果要查找的字符串为空,返回-1 if s == '': return -1 length = len(targer_str) for i in range(len(s)): # 从当前位置开始的length个字符,是否等于目标字符串,如果是,则返回当前位置 .

2021-05-04 15:27:33 613

原创 Python自定义实现字符串的split方法

自定义实现str的spilt方法:如果切割符为默认值:字符串首尾的空白字符去掉,不参与分割,即不像指定分隔符会切割出''空字符串 指定切割符不能是空字符串 最大切割次数,默认为-1 切割次数为负数时,整个字符串切割 正数时,切割给定的次数# 自定义实现split方法:# 算法:# 1. 遍历这个字符串,start=0,# 判断当前字符以及后续的几个字符是否时sep# 如果不是,就继续遍历,如果是,就把这个位置记录下来作为end的坐标# 2. 基于start和en..

2021-05-04 15:15:32 594

原创 Python自定义实现replace方法

自定义实现replace方法:1. 将字符串中所有old替换成new,其余内容保持不变2. 替换次数默认为-1,表示全部替换3. 替换次数为负数时,全部替换;为正数时,表示替换次数;为0时,不替换解法1: 借用split方法,实现字符替换的效果# 自定义实现replace方法解法1:# 算法:# 1. 用split方法,使用要替换的字符作为参数,将字符串分割为一个list# 2. 使用替换后的单词进行join,把list里面的单词连接起来,拼成一个句子,完成替换def.

2021-05-03 22:32:23 869

原创 Python自定义实现title方法

自定义实现str中的title方法:1. 将字符串中每个单词的首字母转换成大写字母(如是小写则转换,大写则不转换)2. 空格,下划线数字等其他字符后面的字母,也判断为是一个单词,需要进行大小写转换3. 除了单词首字母,其余位置如是大写字母,需要转换为小写字母# 自定义实现title方法# 算法:# 1. 判断是不是第一个位置,再判断第一个位置是不是字母,判断是否是小写,如果是小写,就转换为大写字母# 2. 对于非第一个位置的其他小写字母,如果前一个字符不是任何字母,那么转换为大写字.

2021-05-03 22:18:35 860

原创 Python中的any()和all()

any():接收一个迭代器为参数,如果迭代器中某个条目为真,则返回值就为True,当迭代器为空时,返回值为False。all():接收一个迭代器为参数,如果迭代器中所有条目为真,则返回值才为True,当迭代器为空时,返回值为True。以下是python中对两个函数的声明定义:# python中对any函数的声明定义any(iterable, /) Return True if bool(x) is True for any x in the iterable. If th...

2021-04-29 05:30:50 200

原创 使用Python实现比较字典大小

'''算法:1. 先判断传入的参数是否是字典,如果不是,则停止比较---》not isinstance(dict1, dict) or not isinstance(dict2, dict)2. 如果都是字典,先比较字典长度是否一致;如果不一致,则停止比较,结果:长的字典大于短的字典3. 如字典长度一致,则继续比较key,key的比较顺序和keys()方法返回键的顺序相同(相同的键会映射到哈希表的同一个位置,这就保证了对字典键的检查的一致性)4. 通过hash(dict1_keys_list[i.

2021-04-28 07:17:24 7823 1

原创 使用默认参数,实现每次调用结果累计

调用函数时没有传参,而是使用默认参数,且默认参数为列表时,结果会进行累计。因为一个函数的每个默认参数地址都只有一个,每次调用函数时,如果没有显式传参,使用的都是默认地址,那操作的都是同一个地址,所以所有的增加都被记住,实现了累计的效果。如果显示传参,每次调用函数,参数的地址会被重新指向传入参数的地址。def add_end(arr=[]): arr.append('END') return arrprint(add_end([1, 2, 3]))print(add_en.

2021-04-26 05:58:10 256

原创 可变对象/不可变对象传递

引用赋值,只是将一个变量的引用赋给另外一个变量,两个变量指向同一块内存,所以修改一个,另外一个也会受影响。对于可变对象的函数传参,未做处理的情况下,实际是将引用传入函数。即将实参的引用赋值给了形参。def add_element(arr): arr.append(100) print("函数处理过的参数:", arr)a = [1, 2, 3]print("传参前的a:", a)add_element(a)print("传参后的a:", a)运行结果:p..

2021-04-25 17:40:59 159

原创 快速排序

'''1. 取一个基点,将列表分为大于和小于基点值的两部分(除基点外的元素进行划分)2. 对大于小于的部分,分别再取基点,找到小于大于基点的值3. 如此反复,直到列表的长度小于等于1(长度为0或者1的数字,是有序的列表)'''def quick_sort(arr): if len(arr) <= 1: # 列表中只有一个元素说明列表已经有序,返回 return arr pivot = arr[0] # 取列表第一个...

2021-04-23 18:30:10 87

原创 归并排序

今天试着写了一下归并排序的实现,在实现过程中,因为写错一些地方,导致一直报“IndexError: list index out of range”的问题在实现merge函数的时候,考虑到了下标越界的问题,但是由于将and用错成了or,这就导致,两个数组只有有一个的index没有超过数组的长度就能继续执行。但是运行到if arr1[index1] <= arr2[index2]语句的时候,由于有一个索引已经超长,会报错。一直没有看出问题在哪里,觉得这一块不会有错,后面用print打印信息.

2021-04-23 18:21:51 85

原创 python collections

判断一个对象是否可迭代在py3.8中使用from collections import Iterable引入,提示在3.9中将会被废弃。改成from collections.abcimport Iterable引入Iterable模块>>> from collections import Iterable<stdin>:1: DeprecationWarning: Using or importing the ABCs from 'collections' in.

2021-04-23 18:14:00 82

原创 Python string模块

Python string模块使用string模块预定义的字符串所有字母和数字。在使用前需要先import。>>> import string>>> dir(string)['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__nam

2021-04-12 20:51:46 1575 1

原创 Django urls.py中的path和re_path

在Django 1.1.x版本中,使用url方法配置路由。在url() 方法中,普通路径和正则路径均可使用,需要自己手动添加正则首位限制符号。urlpatterns = [url(正则表达式, view函数, 参数, 别名)]正则表达式:一个正则表达式字符串view函数:一个可选用对象,通常为一个是为一个视图函数或者在include函数中的urls.py的元祖或者列表参数:可选的要传递给视图函数的默认参数(关键字参数:字典形式)别名:一个可选的name参数,即为命名空间from djang

2021-04-08 11:40:33 868

原创 django-admin.py & manage.py

django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django proje里面都会包含一个manage.pydjango-admin.py help + subcommand可以查看subcommand的具体的使用语法语法:django-admin.py [options]manage.py [options]subcommand是子命令;options是可选的常用子命令:startproject

2021-04-08 09:50:45 119

原创 安装pipenv遇到的一个坑

安装pipenv遇到的一个坑根据网上各种文章,安装pipenv之后,直接使用pipenv install或者pipenv --three可以创建一个虚拟环境。但是在操作过程中遇到了如下的错误:echo@programs % pipenv --threeCreating a virtualenv for this project…Pipfile: /Users/programs/PipfileUsing /Library/Frameworks/Python.framework/Versions/3.

2021-04-07 14:58:10 1376 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除