Python数学建模入门【1】
最近準備開始學習數學建模,順便學一下python,本人是python小白,參考的教材是司守奎老師的python數學實驗與建模,博客會復現書中的代碼,并在此基礎上添加注釋和學習過程中感覺自己需要注意的地方,寫的博客就當做是自己的筆記,希望可以幫到和我一樣的小白共同學習python。
作者使用的是jupyter notebook,可以很方便的對自己的編程結果進行驗證
anaconda安裝時自帶,具體的方法大家可以百度一下,教程很多,就不再闡述了
第一章
1.2 python基礎知識
(1)python的賦值操作
#可以連續賦值 a,b,c = 80,60,30 print(a) print(b) print(c)輸出結果:
80 60 30python的賦值操作總體來說非常方便,既可以想上圖代碼對相同類型額變量進行連續賦值,也可以對不同類型的變量進行賦值,中間用分號隔開。
例如a = 0;b = 'hello world'
(2)python字符串的輸入方式
#字符串的輸入方式 title = "新年快樂" content = """同志們好, 大家辛苦了""" print(title) print(content)輸出結果:
新年快樂 同志們好, 大家辛苦了(3) python格式化輸入
#Python也支持格式化的輸入 name = "張三";age = 20 print("%s的年齡是%d"%(name,age))#%后面的是參數的形式 print("{}的年齡是{}".format(name,age))#也可以用.format來確定格式,中間用{}表示?輸出結果:
張三的年齡是20 張三的年齡是20其中還有幾個常見的輸出轉譯字符
?
例如:? \t表示水平制表符
??? ? ? ? ?? \n表示換行符
??? ?
??? ? ? ? ?? \"顯示雙引號
??? ?
?? ? ? ? ? ? \'顯示單引號
??? ?
?? ? ? ? ??? \\顯示反斜杠
(4)python的輸入函數
#輸入input函數,格式 變量=input(提示字符串) #此處要注意輸入的變量是字符串類型,如果要轉換成相應的類型,則需要使用一些函數 #比如,int(),eval(),float()等把數值轉化為相應的類型pi = 3.14159 r = float(input("請輸入圓的半徑")) print('圓的周長是:',2*pi*r)輸出結果:
請輸入圓的半徑3 圓的周長是: 18.849539999999998(5)python中的算術運算符
#python中的算術運算符 #正常的加減乘除都有,這里記兩個特殊的 a = 125//7 #整除 b = 4**3 #4的三次冪 c = 46%5 #求余數 print("{},{},{}".format(a,b,c)) #復合賦值運算符例如 x = 6 x += 1 print(x)輸出結果:
17,64,1 7這里常見的加減乘除運算符不再過多敘述,只記錄幾個稍微特殊點的。
(6)python中的邏輯運算符
#邏輯運算符,not and or print(100>2)and(52>41) total = 124 value = (total%4==0)and(total%3==0) print(value)第一個得到的值是bool類型True
第二個得到的值是bool類型False
輸出結果:
True False(7)python中的流程控制
#python中的流程控制 a,b = eval(input("請輸入a,b兩個數:")) #把字符串轉化為數值 #注意此處在輸入的時候要保證輸入的字符串和當前的格式一致 #例如這里是a,b則相應的我們就該輸入10,9 中間不可以添加別的東西 if a >= b: print("最大數為:",a) else:print("最大數為:",b)輸出結果:
請輸入a,b兩個數:100,90 最大數為: 100(8)python中的range函數簡介
#range函數的語法 #range([初始值,]終值,步長) print(list(range(5))) print(list(range(1,6))) print(list(range(2,10,2)))輸出結果:
[0, 1, 2, 3, 4] [1, 2, 3, 4, 5] [2, 4, 6, 8](8)python中的for循環示例
#for循環中迭代器的示例 #示例:計算1+2+3...+7并輸出 sum = 0;number = int(input("請輸入整數:")) print("從小到大排列輸出數字:") for i in range(1,number + 1):sum += i #設置sum為i的和print("%d"%(i),end=' ')if i < number:print("+",end = ' ')else:print("=",end=' ') print("%d"%(sum)) sum = 0 print("從大到小排列輸出數字:") for i in range(number,0,-1):sum += i #設置sum為i的和print("%d"%(i),end=' ')if i > 1:print("+",end = ' ')else:print("=",end=' ') print("%d"%(sum))輸出結果:
請輸入整數:7 從小到大排列輸出數字: 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 從大到小排列輸出數字: 7 + 6 + 5 + 4 + 3 + 2 + 1 = 28這里進行一點的提醒,python對于縮進的要求十分嚴格,要養成寫python代碼的規范,注意 \t 和 空格二者的區別,當出現報錯unexpected indent時可以考慮是否是縮進的錯誤。
(9)while循環示例
#while循環示例,對sinx的泰勒展開式求和,當最后一項的絕對值小于10的-6次冪時停止計算 from math import * #導入math模塊中的所有對象 n = 0;x1 = float(input("請輸入角度: ")) x = radians(x1)#這個是math包中的模塊,將角度轉化為弧度 s=a=x while abs(a)>=1e-6:a *= -x*x/(2*n+3)/(2*n+2)n +=1; s+=a; print("x={} sin(x)={}".format(x1,s))輸出結果:
請輸入角度: 30.0 x=30.0 sin(x)=0.5000000000202799以上是python數學建模第一章1.2python基礎知識的內容
想自己運行一下的小伙伴可以通過下面的下載連接下載,剛開始寫博客,錯誤的地方和不完善的地方可能很多,歡迎大家批評指正。
jupyter文件下載鏈接:https://pan.baidu.com/s/1M0xnJ6PpIP1smTaNQ9eBLA
提取碼:sxyl
總結
以上是生活随笔為你收集整理的Python数学建模入门【1】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java之映射
- 下一篇: python自动化办公手册之python