12 2020 档案

摘要:整数划分问题 问题描述: 将正整数n表示成一系列正整数之和, n=n1+n2+n3+n4+...+nk, 其中n1>=n2>=n3>=n4>=...>=nk>=1,k>=1, 正整数n的这种表示称为正整数n的划分。 正整数n的不同划分个数称为正整数n的划分数,记作 p(n)。 例如,正整数6有如下1 阅读全文
posted @ 2020-12-30 17:10 CannedDream 阅读(388) 评论(0) 推荐(0) 编辑
摘要:高阶函数——filter() 1. filter()函数用于过滤序列,作用是从一个序列中筛选出符合条件的元素。 2. filter()把传入的函数一依次作用于每个元素,然后根据返回值是 True 还是 False 来判断是否留下该元素。 3. filter()函数第一个参数接收一个函数,第二个参数接 阅读全文
posted @ 2020-12-30 13:13 CannedDream 阅读(8863) 评论(0) 推荐(0) 编辑
摘要:一、map函数 map 函数接收两个参数,一个是函数,另一个是 Iterable,map 将传入的函数依次作用到序列的每个元素,并把结果作为新的 Iterator 返回 例如: >>> def f(x): return x*x >>> l=[1,2,3,4,5,6,7,8,9] >>> r=map( 阅读全文
posted @ 2020-12-29 15:28 CannedDream 阅读(362) 评论(0) 推荐(0) 编辑
摘要:一、函数式编程 函数式编程(Functional Programming):允许函数本身作为参数传入另一个函数,还允许返回一个函数。 二、高阶函数 1. 变量可以指向函数 2. 函数名也是变量 3. 一个函数可以接收另一个函数作为参数,这种函数就称为高阶函数 >>> def add(x,y,f): 阅读全文
posted @ 2020-12-29 14:11 CannedDream 阅读(109) 评论(0) 推荐(0) 编辑
摘要:一、可迭代对象 1. 可以直接作用于 for 循环的对象统称为可迭代对象:Iterable 2. 可直接作用于 for 循环的对象: 一类是集合数据类型:list、tuple、dict、set、str等 一类是 generator,包括生成器和带 yield 的 generator function 阅读全文
posted @ 2020-12-28 15:46 CannedDream 阅读(141) 评论(0) 推荐(0) 编辑
摘要:输入:年、月 输出:这一年的这个月所对应的总天数 #include<stdio.h> int main() { int y,m; scanf("%d\%d",&y,&m); if(m==2) { if((y%4==0&&(y%100)!=0)||(y%400==0))//判断是否为闰年 printf 阅读全文
posted @ 2020-12-26 15:32 CannedDream 阅读(736) 评论(0) 推荐(0) 编辑
摘要:杨辉三角 把每一行看做一个list,试写一个generator,不断输出下一行的list: >>> def triangles(): t = [1] while True: yield t t = [1] + [t[n] + t[n + 1] for n in range(len(t) - 1)] 阅读全文
posted @ 2020-12-26 10:50 CannedDream 阅读(94) 评论(0) 推荐(0) 编辑
摘要:生成器 1. 生成器(generator):一边循环一边计算的机制。用生成器不必创建一个完整的list,这样就可以节省大量的空间。 2. 创建一个生成器有很多种方法。 第一种:把一个列表生成式的【】改为(),即可创建一个生成器 >>> L=[x*x for x in range(1,11)] >>> 阅读全文
posted @ 2020-12-26 10:34 CannedDream 阅读(111) 评论(0) 推荐(0) 编辑
摘要:列表生成式 1. 列表生成式(list comprehensions),是python内置的可以创建 list 的生成式 如: 生成一个list,【1,2,3,4,5,6,7,8,9,10】,可以用range() >>> list(range(1,11)) [1, 2, 3, 4, 5, 6, 7, 阅读全文
posted @ 2020-12-24 16:00 CannedDream 阅读(160) 评论(0) 推荐(0) 编辑
摘要:迭代 1. 如果给定一个list或tuple,我们可以用for循环来遍历这个list或tuple,这种遍历称为迭代(iteration) 2. 在python中,迭代是通过 for ... in ... 来实现的,在Java或C中,迭代通过 for(i=0;i<=list.length;i++){x 阅读全文
posted @ 2020-12-24 09:50 CannedDream 阅读(480) 评论(0) 推荐(0) 编辑
摘要:切片 1. 可以用切片取一个list或tuple的部分元素,如: 有一个list L=【1,2,3,4,5,6】 >>> L=[1,2,3,4,5,6] 取L的前三个元素: >>> L[0:3] [1, 2, 3] #也可以把0省去 >>> L[:3] [1, 2, 3] 切片L【0,n】是从0开始 阅读全文
posted @ 2020-12-23 21:45 CannedDream 阅读(110) 评论(0) 推荐(0) 编辑
摘要:函数的参数 一、位置参数 1. 首先定义一个x2的函数,如: >>> def power(x): return x*x >>> power(2) 4 >>> power(3) 9 对于函数power(),x就是一个位置参数 2. 再定义一个求x3,x4,x5,,,,的函数 >>> def power 阅读全文
posted @ 2020-12-22 20:11 CannedDream 阅读(120) 评论(0) 推荐(0) 编辑
摘要:统计数字问题 问题描述 一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,3,4,5,6,7,8, 阅读全文
posted @ 2020-12-22 16:54 CannedDream 阅读(305) 评论(0) 推荐(0) 编辑
摘要:O(1)<O(log n)<O(n)<O(nlog n)<O(n^2)<O(n^3)< O(2^n)<O(n!)<O(n^n) 阅读全文
posted @ 2020-12-22 14:28 CannedDream 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:C++中的sort()函数 1. sort()函数是C++中的排序方法之一,时间复杂度为 n*log2n,执行效率较高 2. 使用sort()函数的头文件:#include<algorithm> 3. sort()函数的三个参数: sort(start,end,compare) ①start:要排序 阅读全文
posted @ 2020-12-21 20:02 CannedDream 阅读(601) 评论(0) 推荐(0) 编辑
摘要:输入字符 之前做到一些蓝桥杯的题目时,不会在输入时输入字符,今天特地学习了一下,我总结了两种方法。 以输入三个整数,输出它们之间的最大值举例。 第一种:用C语言实现 1 #include<stdio.h> 2 int m(int a,int b,int c) //此函数用于求三个数的最大值 3 { 阅读全文
posted @ 2020-12-21 17:21 CannedDream 阅读(3809) 评论(0) 推荐(0) 编辑
摘要:递归函数 1. 递归函数的定义:函数直接或间接的调用函数本身,则称该函数为递归函数。也就是说,如果在一个函数内部,调用自身本身,那么这个函数就称为递归函数。 2. 计算阶乘的算法就用到了递归函数,func(n)= n * func(n-1) 1 #定义函数 2 >>> def func(n): 3 阅读全文
posted @ 2020-12-21 15:55 CannedDream 阅读(2364) 评论(0) 推荐(0) 编辑
摘要:函数 一、调用函数 1. python内置了很多有用的函数,知道函数的名字和参数即可直接调用 2.如: 将字符串转换为整数类型,需要用到 int()函数 将整数转换为字符串类型,需要用到 str()函数 1 >>> int('123') 2 123 3 >>> str(123) 4 '123' 求某 阅读全文
posted @ 2020-12-21 11:56 CannedDream 阅读(63) 评论(0) 推荐(0) 编辑
摘要:可变对象和不可变对象 1.list是可变对象,而字符串(str)、整数、tuple等是不可变对象 2.对于可变对象l,比如 list,对 list 进行操作,list内部的内容是变化的 如: 1 >>> a=['c','b','a'] 2 >>> a.sort() 3 >>> a 4 ['a', ' 阅读全文
posted @ 2020-12-19 10:43 CannedDream 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一.dict 1.dict的全称为dictionary(字典),包含key-value对(键-值对),具有极快的查找速度 定义一个姓名和年龄对应的dict: 1 #定义一个姓名和年龄的字典 2 >>> d={'Rachel':18,'Monica':20,'Joey':17,'Ross':25} 2 阅读全文
posted @ 2020-12-19 10:15 CannedDream 阅读(134) 评论(0) 推荐(0) 编辑
摘要:时间间隔 Description 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。如:3点5分25秒应表示为--03:05:25.假设两个时间在同一天内,时间先后顺序与输入无关。 Input 输入包括两行。第一行为时间点1。第二行为时间点2。 Ou 阅读全文
posted @ 2020-12-18 15:37 CannedDream 阅读(2044) 评论(0) 推荐(0) 编辑
摘要:循环:for循环和while循环 一、for循环 1. for循环的格式: for x in 一个list或tuple 1 >>> for x in [1,2,3]: 2 ... print(x) 3 ... 4 1 5 2 6 3 7 >>> for x in (0,1,2): 8 ... pri 阅读全文
posted @ 2020-12-18 13:37 CannedDream 阅读(97) 评论(0) 推荐(0) 编辑
摘要:条件判断 1. if语句的形式: 1 if 条件判断1 : 2 执行语句1 3 elif 条件判断2 : 4 执行语句2 5 ... 6 elif 条件判断n-1 : 7 执行语句n-1 8 else : 9 执行语句n 要注意,条件判断后面要加冒号,执行语句后面没有分号。 2. if语句执行具有顺 阅读全文
posted @ 2020-12-17 21:26 CannedDream 阅读(339) 评论(0) 推荐(0) 编辑
摘要:一、list 1. 列表list是一种有序的集合,可以随时添加和删除元素,用 [ ] 将其中的元素括起来,如一个班级的姓名 name['小明','小红','小亮']是一个list 2. list的索引是从0开始的,还可以用-1做索引直接获取最后一个元素 3. 当索引超出了范围时,Python会报一个 阅读全文
posted @ 2020-12-16 20:56 CannedDream 阅读(139) 评论(0) 推荐(0) 编辑
摘要:格式化 1.用%运算符格式化字符串 常见的占位符: 占位符 替换内容 %s 字符串 %d 整数 %f 浮点数 %x 十六进制数 在字符串内部,有几个%?,后边就要对应几个变量或者值,顺序不能乱 %s会把任何数据类型转换为字符串 例如: 1 >>> print('My name is %s' , % 阅读全文
posted @ 2020-12-01 20:59 CannedDream 阅读(67) 评论(0) 推荐(0) 编辑
摘要:一、字符编码 1. 最早使用的编码方式为ASCII编码,ASCII编码是1个字节,例如:字母A用ASCII编码是十进制的65,二进制的01000001 2. Unicode编码是将所有语言统一到一套编码里,避免乱码,Unicode编码是2个字节,例如:字母A用Unicode编码是十进制的65,二进制 阅读全文
posted @ 2020-12-01 19:54 CannedDream 阅读(82) 评论(0) 推荐(0) 编辑