网站建设资讯

NEWS

网站建设资讯

python创建二元函数 python画二元函数

如何用python创建一个二元数组

Python中创建二维列表/数组,即创建一个list,并且这个list的元素还是list。可以用列表解析的方法实现。

创新互联公司-专业网站定制、快速模板网站建设、高性价比任县网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式任县网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖任县地区。费用合理售后完善,十年实体公司更值得信赖。

创建例子如下:

2d_list = [[0 for col in range(cols)] for row in range(rows)]

其中cols, rows变量替换为你需要的数值即可,例如:

2d_list = [[0 for col in range(9)] for row in range(9)]

# 9*9的二维列表

Python之神奇的绘图库matplotlib

matplotlib是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。本文将以例子的形式分析matplot中支持的,分析中常用的几种图。其中包括填充图、散点图(scatter plots)、. 条形图(bar plots)、等高线图(contour plots)、 点阵图和3D图,下面来一起看看详细的介绍:

一、填充图

参考代码

简要分析

这里主要是用到了fill_between函数。这个函数很好理解,就是传入x轴的数组和需要填充的两个y轴数组;然后传入填充的范围,用where=来确定填充的区域;最后可以加上填充颜色啦,透明度之类修饰的参数。

相关推荐:《Python教程》

效果图

二、散点图(scatter plots)

参考代码

简要分析

1.首先介绍一下numpy 的normal函数,很明显,这是生成正态分布的函数。这个函数接受三个参数,分别表示正态分布的平均值,标准差,还有就是生成数组的长度。很好记。

2.然后是arctan2函数,这个函数接受两个参数,分别表示y数组和x数组,然后返回对应的arctan(y/x)的值,结果是弧度制。

3.接下来用到了绘制散点图的scatter方法,首先当然是传入x和y数组,接着s参数表示scale,即散点的大小;c参数表示color,我给他传的是根据角度划分的一个数组,对应的就是每一个点的颜色(虽然不知道是怎么对应的,不过好像是一个根据数组内其他元素进行的相对的转换,这里不重要了,反正相同的颜色赋一样的值就好了);最后是alpha参数,表示点的透明度。scatter函数的高级用法可以参见官方文档scatter函数或者help文档,最后设置下坐标范围就好了。

效果图

三、等高线图(contour plots)

参考代码

简要分析

1.首先要明确等高线图是一个三维立体图,所以我们要建立一个二元函数f,值由两个参数控制,(注意,这两个参数都应该是矩阵)。

2.然后我们需要用numpy的meshgrid函数生成一个三维网格,即,x轴由第一个参数指定,y轴由第二个参数指定。并返回两个增维后的矩阵,今后就用这两个矩阵来生成图像。

3.接着就用到coutourf函数了,所谓contourf,大概就是contour fill的意思吧,只填充,不描边;这个函数主要是接受三个参数,分别是之前生成的x、y矩阵和函数值;接着是一个整数,大概就是表示等高线的密度了,有默认值;然后就是透明度和配色问题了,cmap的配色方案这里不多研究。

4.随后就是contour函数了,很明显,这个函数是用来描线的。用法可以类似的推出来,不解释了,需要注意的是他返回一个对象,这个对象一般要保留下来个供后续的加工细化。

5.最后就是用clabel函数来在等高线图上表示高度了,传入之前的那个contour对象;然后是inline属性,这个表示是否清除数字下面的那条线,为了美观当然是清除了,而且默认的也是1;再就是指定线的宽度了。

效果图

【python】求两个字符串的公共字串?

题目:找出两个字符串的最长公共字串,例如字符串“abccade”与字符串“dgcadde”的最长公共子串为“cad”。

分析:动态规划法。通过把中间的比较结果记录下来,从而可以避免字符的重复比较。:

首先定义二元函数(i,j):表示分别以s1[i],s2[j]结尾的公共子串的长度,显然,f(0, j) = 0 (j = 0),f(i, 0) = 0(i = 0),那么对于f(i +1, j + 1)而言,则有如下两种取值:

(1) f(i + 1, j +1) = 0,当str1[i + 1] != str2[j + 1]时

(2)f(i + 1, j +1) = f(i, j) + 1,当str1[i + 1] == str2[j + 1]时

根据这个公式可以计算出f(i, j)(0= i=len(s1), 0 = j = len(s2),所有的值,从而可以找出最长的子串。

def getMaxSubStr(str1, str2):

len1 = len(str1)

len2 = len(str2)

sb = ''

maxs = 0  # 用来记录最长公共子串的长度

maxI = 0  # 用来记录最长公共字串最后一个字符的位置

# 申请新的空间来记录公共字串长度信息

M = [([None] * (len1 + 1)) for i in range(len2 + 1)]

i = 0

while i len1 + 1:

    M[i][0] = 0

    i += 1

j = 0

while j len2 + 1:

    M[0][j] = 0

    j += 1

# 通过利用递归公式填写新建得二维数组(公共字串得长度信息)

i = 1

while i len1 + 1:

    j = 1

    while j len2 + 1:

        if list(str1)[i - 1] == list(str2)[j - 1]:

            M[i][j] = M[i - 1][j - 1] + 1

            if M[i][j] maxs:

                maxs = M[i][j]

                maxI = i

        else:

            M[i][j] = 0

        j += 1

    i += 1

i = maxI - maxs

while i maxI:

    sb = sb + list(str1)[i]

    i += 1

return sb

if __name__ == "__main__":

str1 = 'abccade'

str2 = 'dgcadde'

print(getMaxSubStr(str1, str2))

程序运行结果:

cad

15个Python入门小程序,你都知道哪些

有不少同学学完 Python 后仍然很难将其灵活运用。我整理15个 Python 入门的小程序。在实践中应用 Python 会有事半功倍的效果。

实现数学里的二元二次函数: f(x, y) = 2x^2 + 3y^2 + 4xy ,需要用到指数运算符 **

将一个正整数的个位数,以及除个位数外的部分分离。需要用到 模(取余数) 运算符 % ,和 整除 运算符 //

实现一个简单的累加器,可以接受用户输入3个数字,并将其累加。需要用到 复合赋值运算符:+=

输入年份,判断是否是闰年。闰年判断方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到 算术运算符 和 逻辑运算符

输入一个数字,判断基数还是偶数,需要 模 运算和 if ... else 结构

之前做过华氏度转摄氏度,现在通过 分支结构 实现二者互转。

输入三个边长度,判断是否构成三角形。 构成三角形的条件:两边之和大于第三边 。

输入成绩分数,输出分数对应的等级。

某企业的奖金根据销售利润按照如下规则计算提成。输入销售利润,计算奖金。

程序随机生成一个正整数,用户来猜,程序根据猜的大小给出相应的提示。最后,输出用户猜了多少次才猜中。

输入一个正整数,判断是否是素数。 素数定义:大于1的自然数中,只能被1和它本身整除的自然数。如:3、5、7

用程序实现石头剪刀布 游戏 。

字典的key是姓名,value是身高,现在需要按照身高对字典重新排序。

将二元二次函数封装在函数中,方便调用

初学python的小伙伴注意哦~不要只依赖于教程,而忽视实操的能力。不然,是很难有进步的。可以多动动手,尝试一下,积累经验。


本文标题:python创建二元函数 python画二元函数
转载来源:http://njwzjz.com/article/doceeje.html