你的函數(shù)是讓原列表每個元素值+1,這里省略了函數(shù),做的仍然是每個元素+1
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、丘北網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
# 2021-05-11 Luke
s=[1, 2, 3, 4, 5, 5, 6, 1, 4, 5, 5, 7, 1, 5, 3, 8, 3, 5, 9, 1]
num = input("請指定需要循環(huán)的次數(shù):")
i = 1
while i = int(num):
new_s = []
for a in s:
a += 1
new_s.append(a)
s = []
s = new_s
用你寫的函數(shù)的話這樣也可以
# 2021-05-11 Luke
s=[1, 2, 3, 4, 5, 5, 6, 1, 4, 5, 5, 7, 1, 5, 3, 8, 3, 5, 9, 1]
def tset(s):
s1 = [x+1 for x in s]
return s1
num = input("請指定需要循環(huán)的次數(shù):")
i = 1
while i = int(num):
new_s = tset(s)
s = new_s
i += 1
print(s)
i += 1
print(s)
def one(s):
return s == s[::-1]
def two(lst):
lst.sort()
del(lst[len(lst) - 1])
lst.append(lst.pop(0))
return lst.copy()
def three(s1, s2, s3):
return (s1 | s2 | s3,
s1 s2 s3,
(s1 | s2) - (s2 | s3))
def four(num):
return sum(map(int, str(num)))
def five():
text="12345"
fo = open("five.txt", "w", encoding="utf-8")
fo.write(text)
fo.close()
要點:input輸入的內(nèi)容為字符串。
.isdigit用于判定輸入的字符串中的字符是否為數(shù)值型字符,注意是“數(shù)值型字符”,仍然是字符串。因此想要與數(shù)值1、2、3進(jìn)行比較,必須加步int(instr),將字符串轉(zhuǎn)換為數(shù)值。這就解釋了你的第2第3個問題,再看一下第一個問題:刪掉該段后,instr是原始的輸入的字符串,與數(shù)值1或2進(jìn)行相等比較,返回值為False,不運行if內(nèi)的語句,直接返回while循環(huán)。
本文歸納常見常微分方程的解析解解法以及基于Python的微分方程數(shù)值解算例實現(xiàn)。
考慮常微分方程的解析解法,我們一般可以將其歸納為如下幾類:
這類微分方程可以變形成如下形式:
兩邊同時積分即可解出函數(shù),難點主要在于不定積分,是最簡單的微分方程。
某些方程看似不可分離變量,但是經(jīng)過換元之后,其實還是可分離變量的,不要被這種方程迷惑。
形如
的方程叫做一階線性微分方程,若 為0,則方程齊次,否則稱為非齊次。
解法: (直接套公式)
伯努利方程
形如
的方程稱為伯努利方程,這種方程可以通過以下步驟化為一階線性微分方程:
令 , 方程兩邊同時乘以 ,得到
即 .
這就將伯努利方程歸結(jié)為可以套公式的一階線性微分方程。
形如
的方程稱為二階常系數(shù)微分方程,若 ,則方程稱為齊次的,反之稱為非齊次的。以下默認(rèn)方程是非齊次的。
求解此類方程分兩步:
原方程的解 = 齊次通解 + 非齊次特解
首先假設(shè) .用特征方程法,寫出對應(yīng)的特征方程并且求解:
解的情況分為以下三種:
情況一:方程有兩個不同的實數(shù)解
假設(shè)兩個實數(shù)解分別是 , 此時方程的通解是
情況二:方程有一個二重解
假設(shè)該解等于 ,此時方程的通解是
情況三:方程有一對共軛復(fù)解
假設(shè)這對解是 , 此時方程的通解是
對于 和特征根的情況,對特解的情況做如下歸納:
形如
的方程叫做高階常系數(shù)微分方程,若 ,則方程是齊次的,否則是非齊次的。下面默認(rèn)方程是非齊次的。
求解此類方程分兩步:
原方程的解 = 齊次通解 + 非齊次特解
考慮帶有第三類邊界條件的二階常系數(shù)微分方程邊值問題
問題一:兩點邊值問題的解析解
由于此方程是非齊次的,故 求解此類方程分兩步:
原方程的解 = 齊次通解 + 非齊次特解
首先假設(shè) . 用特征方程法,寫出對應(yīng)的特征方程
求解得到兩個不同的實數(shù)特征根: .
此時方程的齊次通解是
由于 . 所以非齊次特解形式為
將上式代入控制方程有
求解得: , 即非齊次特解為 .
原方程的解 = 齊次通解 + 非齊次特解
于是,原方程的全解為
因為該問題給出的是第三類邊界條件,故需要求解的導(dǎo)函數(shù)
且有
將以上各式代入邊界條件
解此方程組可得: .
綜上所述,原兩點邊值問題的解為
對一般的二階微分方程邊值問題
假定其解存在唯一,
為求解的近似值, 類似于前面的做法,
考慮帶有第三類邊界條件的二階常系數(shù)微分方程邊值問題
問題二:有限差分方法算出其數(shù)值解及誤差
對于 原問題 ,取步長 h=0.2 ,用 有限差分 求其 近似解 ,并將結(jié)果與 精確解y(x)=-x-1 進(jìn)行比較.
因為
先以將區(qū)間劃分為5份為例,求出數(shù)值解
結(jié)果:
是不是解出數(shù)值解就完事了呢?當(dāng)然不是。我們可以將問題的差分格式解與問題的真解進(jìn)行比較,以得到解的可靠性。通過數(shù)學(xué)計算我們得到問題的真解為 ,現(xiàn)用范數(shù)來衡量誤差的大?。?/p>
結(jié)果:
接下來繪圖比較 時數(shù)值解與真解的差距:
結(jié)果:
將區(qū)間劃分為 份, 即 時.
結(jié)果:
繪圖比較 時數(shù)值解與真解的差距:
最后,我們還可以從數(shù)學(xué)的角度分析所采用的差分格式的一些性質(zhì)。因為差分格式的誤差為 , 所以理論上來說網(wǎng)格每加密一倍,與真解的誤差大致會縮小到原來的 . 下討論網(wǎng)格加密時的變化:
結(jié)果:
這里的知識點就是高階函數(shù)的定義: 一個函數(shù)可以作為參數(shù)傳給另外一個函數(shù),或者一個函數(shù)的返回值為另外一個函數(shù)(若返回值為該函數(shù)本身,則為遞歸),滿足其一則為高階函數(shù)。
temp = funX(8) 這里得到的是 funX這個外層函數(shù)的return funY 內(nèi)層函數(shù)
temp(5) 就是傳參5給得到的內(nèi)層funY