目錄
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),閻良網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:閻良等地區(qū)。閻良做網(wǎng)站價(jià)格咨詢:18982081108
一、寫一個(gè)函數(shù)求三個(gè)數(shù)的和,并返回結(jié)果
二、寫一個(gè)函數(shù)求三個(gè)數(shù)的平均值,并返回結(jié)果
三、再寫一個(gè)函數(shù)求每個(gè)數(shù)與平均值之間的差,并返回結(jié)果
1、首先打開python的編輯器軟件,編輯器的選擇可以根據(jù)自己的喜好,之后準(zhǔn)備好一個(gè)空白的python文件:
2、接著在空白的python文件上編寫python程序,這里假設(shè)當(dāng)x>1的時(shí)候,方程為根號下x加4,當(dāng)x-1時(shí),方程為5乘以x的平方加3。所以在程序的開始需要引入math庫,方便計(jì)算平方和開方,之后在函數(shù)體重寫好表達(dá)式就可以了,最后調(diào)用一下函數(shù),將結(jié)果打印出來:
3、最后點(diǎn)擊軟件內(nèi)的綠色箭頭,運(yùn)行程序,在下方可以看到最終計(jì)算的結(jié)果,以上就是python求分段函數(shù)的過程:
參數(shù)match是正則表達(dá)式匹配后的結(jié)果,match.group(1)就是返回結(jié)果1。
import re
m = re.search('(^.+?)\n(.+?$)', 'print "111"\nprint "222"')
print m.group(1)#print "111"eval()一般是用來執(zhí)行字符串代碼,也就是命令注入。
其中的參數(shù)code:就是要執(zhí)行的代碼,比如print
"111"
其中的參數(shù)scope:是code執(zhí)行范圍的字典.
由于匹配的字符串代碼經(jīng)常有格式對齊等問題,所以加一個(gè)try
except來捕捉。
exec跟eval類似,可以執(zhí)行代碼,但是只是一個(gè)語法,沒有返回值。
exec
code
in
scope就是執(zhí)行code作用范圍為scope字典
其中有兩個(gè)非常漂亮的指數(shù)函數(shù)圖就是用python的matplotlib畫出來的。這一期,我們將要介紹如何利用python繪制出如下指數(shù)函數(shù)。
圖 1 a1圖 1 a1
我們知道當(dāng)0 ,指數(shù)函數(shù) 是單調(diào)遞減的,當(dāng)a1 時(shí),指數(shù)函數(shù)是單調(diào)遞增的。所以我們首先要定義出指數(shù)函數(shù),將a值做不同初始化
import math
...
def exponential_func(x, a): #定義指數(shù)函數(shù)
y=math.pow(a, x)
return y
然后,利用numpy構(gòu)造出自變量,利用上面定義的指數(shù)函數(shù)來計(jì)算出因變量
X=np.linspace(-4, 4, 40) #構(gòu)造自變量組
Y=[exponential_func(x) for x in X] #求函數(shù)值
有了自變量和因變量的一些散點(diǎn),那么就可以模擬我們平時(shí)畫函數(shù)操作——描點(diǎn)繪圖,利用下面代碼就可以實(shí)現(xiàn)
import math
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist #導(dǎo)入坐標(biāo)軸加工模塊
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
fig=plt.figure(figsize=(6,4)) #新建畫布
ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法創(chuàng)建一個(gè)繪圖區(qū)對象ax
fig.add_axes(ax) #將繪圖區(qū)對象添加到畫布中
def exponential_func(x, a=2): #定義指數(shù)函數(shù)
y=math.pow(a, x)
return y
X=np.linspace(-4, 4, 40) #構(gòu)造自變量組
Y=[exponential_func(x) for x in X] #求函數(shù)值
ax.plot(X, Y) #繪制指數(shù)函數(shù)
plt.show()
圖 2 a=2
圖2雖簡單,但麻雀雖小五臟俱全,指數(shù)函數(shù)該有都有,接下來是如何讓其看起來像我們在作圖紙上面畫的那么美觀,這里重點(diǎn)介紹axisartist 坐標(biāo)軸加工類,在的時(shí)候我們已經(jīng)用過了,這里就不再多說了。我們只需要在上面代碼后面加上一些代碼來將坐標(biāo)軸好好打扮一番。
圖 3 a1 完整代碼# -*- coding: utf-8 -*-圖 3 a1 完整代碼# -*- coding: utf-8 -*-"""Created on Sun Feb 16 10:19:23 2020project name:@author: 帥帥de三叔"""import mathimport numpy as npimport matplotlib.pyplot as pltimport mp
enumerate(x,y)函數(shù)是把元組tuple、字符串str、列表list里面的元素遍歷和索引組合,其用法與range()函數(shù)很相似,
下面示例enumerate(x,y)用法以及range(x)相似的用法,但是,enumerate(x,y)函數(shù)在遍歷excel等時(shí),可以實(shí)現(xiàn)與人視覺了解到的認(rèn)識更好的理解。
enumerate(x,y)中參數(shù)y可以省略,省略時(shí),默認(rèn)從0開始,
如示例一:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words):
print(idx,word)
打印結(jié)果:
使用range()函數(shù)遍歷實(shí)現(xiàn):
list_words=["this","is","blog","of","white","mouse"]
for? i in range(len(list_words)):
print(i,list_words[i])
打印結(jié)果:
自定義開始索引號:
示例二:
list_words=["this","is","blog","of","white","mouse"]
for idx,word in enumerate(list_words[1:],2):#也可以寫成for idx,word in enumerate(list_words,start=2):
print(idx,word)
打印結(jié)果:
從上面示例中可以看出,enumerate(x,y)中x是需要遍歷的元組tuple、字符串str、列表list,可以和切片組合使用,
y是自定義開始的索引號,根據(jù)自己的需要設(shè)置開始索引號。
######python求標(biāo)準(zhǔn)的一元二次方程的解###############
a,b,c= map(float,input("請輸入aX^2+bX+c=0,函數(shù)中的三個(gè)參數(shù):(空格隔開)").split())
###使用公式b^2-4ac判定是否有解b^2-4ac####
i=b*b-4*a*c
if i0:
print("該方程無實(shí)數(shù)解!")
elif i==0:
print("該方程解為:%.2f"%((-1)*b/(2*a)))#有一個(gè)解
else:
print("該方程解為:%.2f或%.2f"%((((-1)*b+i**0.5)/(2*a)),(((-1)*b-i**0.5)/(2*a))))
該方法運(yùn)用是運(yùn)用公式求解,保留兩位小數(shù),只能求實(shí)數(shù)解,供參考,有問題可追問
網(wǎng)站欄目:python描點(diǎn)求函數(shù) python畫點(diǎn)的函數(shù)
網(wǎng)站地址:http://muchs.cn/article12/hjcegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、做網(wǎng)站、網(wǎng)站策劃、面包屑導(dǎo)航、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容