本文目錄一覽:
- 1、用python畫一棵樹?
- 2、python海龜畫樹
- 3、Python該怎麼入門?
- 4、初學者如何學習python?如何快速從Python小白到初級Python工程師?
- 5、初學者學習python用哪本書比較好
- 6、python畫櫻花樹代碼 具體代碼介紹
用python畫一棵樹?
1、準備
1
打開我們的Python shell界面,也就是大家所說的idle界面。
2
單擊界面中的「file」-「new file」,就可以建立一個Python腳本了。
END
2、保存腳本文件
1
單擊腳本文件中工具欄的「file」-「save」就可以實現我們調出我們的保存配置界面了。
2
在該界面中配置我們的文件名和要保存的路徑就可以了。
END
3.編寫代碼
1
1.代碼的結構:
本代碼有兩個子函數組成,據圖有main函數和畫樹函數組成。
2
2.編寫畫樹函數:
畫樹函數,就是用來畫出我們的樹的一種子函數,代碼如下:
def tree(plist,l,a,f):
if l5:
lst=[]
for p in plist:
p.forward(l)
q=p.clone()
p.left(a)
q.right(a)
lst.append(p)
lst.append(q)
tree(lst,l*f,a,f)
3
3.編寫main函數:
main函數用來對畫樹的總體的配置,來畫出我們整體的書代碼如圖下。
def main():
p=Turtle()
p.color(‘green’)
p.pensize(11)
p.hideturtle()
p.speed(4)
# p.getscreen().tracer(30,0)
p.left(90)
p.penup()
p.goto(0,-100)
p.pendown()
t=tree([p],110,65,0.6375)
4
4.調用main函數:
在Python語言中與其它的語言不同的是,我們得在腳本中說明我們的主函數,而不是默認的main函數,具體如下。
main()
END
4、執行代碼
單擊「run」-「run module」,就可以運行我們的代碼了。
接著就可以看到我們的運行界面了。
python海龜畫樹
導入海龜模塊
from turtle import *
基本二叉樹
初始值 :速度最快,隱藏海龜,設朝向90度,後退200
speed(0)
seth(90)
pu()
fd(-200)
pd()
ht()
遞歸函數:多向遞歸
tree(d,n) d樹榦長度,n遞歸深度
if n=1:
a=30
de=10
fd(d)
lt(a)
tree(d-de,n-1)
rt(a*2)
tree(d-de,n-1)
lt(a)
fd(-d)
tree(200,5)
隨機值:
import random as rd
隨機分叉角度a a=rd.randint(10,25)
隨機每叉遞減長度d de=rd.randint(5,12)
遞減值:
樹榦越來越細
pensize(n//10)
條件值:
葉子變為綠色
if n==1:pencolor(‘green’)
else:pencolor(‘deepgreen’)
末端加果實
if n=2:
fd(d)
dot(10,’red’)
隨機分叉數m m=rd.randint(2,4)
Python該怎麼入門?
作為初學者,第一個月的月目標應該是這樣的:
熟悉基本概念(變數,條件,列表,循環,函數)
練習超過 30 個編程問題
利用這些概念完成兩個項目
熟悉至少 2 個框架
開始使用集成開發環境(IDE),Github,hosting,services 等
整體計劃
現在,我們先將月計劃細化成周計劃。
第一周:熟悉 Python
要積極探索 Python 的使用方法,儘可能多的完成下面這些任務:
第一天:基本概念(4 小時):print,變數,輸入,條件語句
第二天:基本概念(5 小時):列表,for 循環,while 循環,函數,導入模塊
第三天:簡單編程問題(5 小時):交換兩個變數值,將攝氏度轉換為華氏溫度,求數字中各位數之和,判斷某數是否為素數,生成隨機數,刪除列表中的重複項等等
第四天:中級編程問題(6 小時):反轉一個字元串(迴文檢測),計算最大公約數,合併兩個有序數組,猜數字遊戲,計算年齡等等
第五天:數據結構(6 小時):棧,隊列,字典,元組,樹,鏈表。
第六天:面向對象編程(OOP)(6 小時):對象,類,方法和構造函數,面向對象編程之繼承
第七天:演算法(6 小時):搜索(線性和二分查找)、排序(冒泡排序、選擇排序)、遞歸函數(階乘、斐波那契數列)、時間複雜度(線性、二次和常量)
通過第一周時間,python大致能熟悉了,自學能力稍微弱一點找人帶下你,節約自己的時間。
注意:別急著安裝 Python 環境!
這看起來很矛盾,但是你一定要相信我。我有幾個朋友,他們因為語言工具包和 IDE 安裝的失敗而逐漸失去了學習下去的慾望。因此,我的建議是先使用一些安卓 app 來探索這門語言,如果你是個技術小白,安裝 Python 環境可不是你的首要任務。
第二周:開始軟體開發(構建項目)
接下來,讓我們朝著軟體開發任務進軍吧!不妨嘗試綜合你學到的知識完成一個實際的項目:
第一天:熟悉一種 IDE(5 小時): IDE 是你在編寫大型項目時的操作環境,所以你需要精通一個 IDE。在軟體開發的初期,我建議你在 VS code 中安裝 Python 擴展或使用 Jupyter notebook。
第二天:Github(6 小時):探索 Github,並創建一個代碼倉庫。嘗試提交(Commit)、查看變更(Diff)和上推(Push)你的代碼。另外,還要學習如何利用分支工作,如何合併(merge)不同分支以及如何在一個項目中創建拉取請求(pull request)。
第三天:第一個項目——簡單計算器(4 小時):熟悉 Tkinter,創建一個簡單的計算器
第四、五、六天:個人項目(每天 5 小時):選定一個項目並完成它。如果你不知道你該做什麼,可以查看下面的清單( pythonprojects -for-an- middle – programmer/answer/jhankar – mahbub2)
第七天:託管項目(5 小時):學習使用伺服器和 hosting 服務來託管你的項目。創建一個 Heroku 設置並部署你構建的應用程序。
為什麼要寫項目?
如果僅僅按部就班地學習課堂上或視頻中的內容,你無法擁有獨立思考能力。所以,你必須把你的知識應用到一個項目中。當你努力尋找答案時,你也在慢慢地學會這些知識。
第三周:讓自己成為一名程序員
第 3 周的目標是熟悉軟體開發的整體過程。你不需要掌握所有的知識,但是你應該知道一些常識,因為它們會影響你的日常工作。
第一天:資料庫基礎(6 小時):基本 SQL 查詢(創建表、選擇、Where 查詢、更新)、SQL 函數(Avg、Max、Count)、關係資料庫(規範化)、內連接、外連接等
第二天:使用 Python 資料庫(5 小時):利用一種資料庫框架(SQLite 或 panda),連接到一個資料庫,在多個表中創建並插入數據,再從表中讀取數據。
第三天:API(5 小時):如何調用 API。學習 JSON、微服務(micro-service)以及表現層應用程序轉換應用程序介面(Rest API)。
第四天:Numpy(4 小時):熟悉 Numpy(- Numpy -for- datascies-beginners-b8088722309f)並練習前 30 個 Numpy 習題(- 100/blob/master/100_numpy_excercises.md)
第五、六天:作品集網站(一天 5 小時):學習 Django,使用 Django 構建一個作品集網站(- start-with-django -1/),也要了解一下 Flask 框架。
第七天:單元測試、日誌、調試(5 小時):學習單元測試(PyTest),如何設置和查看日誌,以及使用斷點調試。
真心話時間(絕密)
如果你非常「瘋狂」,並且非常專註,你可以在一個月內完成這些任務。你必須做到:
把學習 Python 作為你的全職活動。你需要從早上 8 點開始學習,一直到下午 5 點。在此期間,你可以有一個午休時間和茶歇時間(共 1 小時)。
8 點列出你今天要學的東西,然後花一個小時複習和練習你昨天學過的東西。
從 9 點到 12 點:開始學習,並進行少量練習。在午飯後,你需要加大練習量,如果你卡在某個問題上,可以在網上搜索解決方案。
嚴格保持每天 4-5 小時的學習時間和 2-3 小時的練習時間(每周最多可以休息一天)。
你的朋友可能會認為你瘋了。走自己的路,讓別人去說吧!
如果你有一份全職工作,或者你是一名學生,完成這些流程可能需要更長的時間。作為一名全日制學生,我花了 8 個月的時間來完成這份清單。現在我是一名高級開發人員。所以,不管花多長時間,一定要完成它們。要想成功完成一個目標,必須付出百分之百的努力。
第四周:認真考慮工作(實習)問題
第 4 周的目標是認真思考如何才能被錄用。即使你現在不想找工作,你也可以在探索這條道路的過程中學到很多東西。
第一天:準備簡歷(5 小時):製作一份一頁的簡歷。把你的技能總結放在最上面,必須在寫項目的同時附上 Github 鏈接。
第二天:作品集網站(6 小時):寫幾個博客,將它們添加到你之前開發的作品集網站中。
第三天:LinkedIn 簡介(4 小時):創建一個 LinkedIn 個人簡介,把簡歷上的所有內容都放到 LinkedIn 上。
第四天:面試準備(7 小時):準備一些谷歌常見的面試問題,練習白皮書中的 10 個面試編程問題。在 Glassdoor、Careercup 等網站中查看前人遇到的面試問題。
第五天:社交(~小時):走出房門,開始參加聚會、招聘會,與其他開發人員和招聘人員見面。
第六天:工作申請(~小時):搜索「Python Job」,查看 LinkedIn Job 和本地求職網站。選擇 3 個工作崗位並發送工作申請。為每個工作定製你的簡歷。在每個工作要求中找出 2 到 3 件你不知道的事情,並在接下來的 3-4 天里學會它們。
第七天:在拒絕中學習(~小時):每次你被拒絕的時候,找出兩件為了獲得這份工作你應該知道的事情,然後花 4-5 天 的時間來掌握它們。這樣,每次拒絕都會讓你成為更好的開發人員。
初學者如何學習python?如何快速從Python小白到初級Python工程師?
制定目標
我的學習歷程:我想免費學習Python,因此我必須養成每天的學習習慣(每天4個小時),甚至要利用我的周末。我的總體規劃是設定目標並追逐目標。我為7個星期設定了7個目標!
第1周
我的第一周目標-(Python基礎知識)作為初學者,我們的第一周目標應該是-熟悉Python基礎知識,例如變數,條件,列表,循環,函數。(好奇並探索您可以使用Python進行的操作)。由於我想免費學習python,所以我開始在互聯網上進行挖掘,幸運的是發現了一個Python備忘單,對我有很大幫助。
第2周
第二周目標-(提高我的編碼能力)解決100多個編碼問題。反向字元串,迴文,GCD,合併排序數組,If-then-else語句,循環,函數和python軟體包問題。「越努力,您就會成為更好的開發者」
第3周
第三周目標-(了解數據結構和演算法),提升您的技能和知識,並學習基礎知識,例如堆棧,隊列,元組,樹,字典,鏈接列表,搜索(線性和二進位搜索),遞歸函數(階乘,斐波那契數列),排序(氣泡排序,選擇排序)和時間複雜度(線性,二次和常數)。
第4周
第四(探索Python庫)Python之所以在開發人員中如此受歡迎,是因為其令人讚歎的庫可供用戶使用。您可以使用的一些最常見的庫是Numpy,Scipy,Scikit-learn,Theano,TensorFlow,Keras,PyTorch和Pandas。
OpenCV是計算機視覺庫,可為您提供圖像處理功能!很酷吧?
SimpleCV,另一個CV庫,本質上是OpenCV的子集,但學習曲線要低得多。
我發現個驚人的博客約有56個Python庫。
PyGame,一個遊戲開發庫,可讓您製作出色的遊戲。
第5周
第五周目標-(學習Python框架)您必須學習至少3個流行的框架。閱讀框架文檔,在B站上找到視頻教程。必須以Numpy,Django,pandas和Scrapy開頭。
Django-一個Web應用程序框架。從這裡您可以學習Django。
Flask(Python Microframework),另一種流行的Web應用程序框架,更加紮實(因此更加靈活)的Web應用程序開發方法
第6周
第六周目標-(從事Python項目)這是最重要的。在這裡,您必須測試並應用您的知識。在第6周,您要做的就是至少處理3個python項目。我知乎分享了我以前的答案,您將在這裡獲得一些適合初學者和中級學習者的出色python項目:使用Python構建的一些出色項目?
第7周
第七周目標-(Python面試練習)恭喜!現在,您擁有在全球任何一家技術公司中申請任何軟體工程工作所需的資源。現在,練習您的軟技能,並儘可能練習面試問題。
初學者學習python用哪本書比較好
1.《Python編程:從入門到實踐》
這本書算是比較全面系統的入門Python教程。基本的概念解釋得算是比較不錯的,我們知道,對於零基礎學習編程的人來說,基礎的概念是最關鍵也是最重要的一部分,誰能把基本的概念講得通俗易懂,那麼誰也就自然受歡迎了。
2.《像計算機科學家一樣思考Python》
本書更多的是想培養讀者以計算機科學家一樣的思維方式來理解Python語言編程。貫穿全書的主體是如何思考、設計、開發的方法。從基本的編程概念開始,一步步引導讀者了解Python語言,再逐漸掌握函數、遞歸、數據結構和面向對象設計等高階概念。
3.《Python編程:從入門到實踐》
2016年出版的書,基於 Python3.5 同時也兼顧 Python2.7 ,書中涵蓋的內容是比較精簡的,沒有艱深晦澀的概念,每個小結都附帶練習題,它可以幫助你更快的上手編寫程序,解決實際編程問題,上到有編程基礎的程序員,下到10歲少年,想入門Python並達到可以開發實際項目的水平,這本書都是個不錯的選擇。
4.《Python核心編程第三版(中文版)》
該書向讀者介紹了這種語言的核心內容,並展示了Python語言可以完成哪些任務。其主要內容包括:語法和編程風格、Python語言的對象、Web程序設計、執行環境等。該書條理清晰、通俗易懂,是學習Python語言的最好教材及參考手冊。所附光碟包括Python語言最新的三個版本及書中示例代碼。
5.《Python演算法教程》
Python演算法教程用Python語言來講解演算法的分析和設計。本書主要關注經典的演算法,但同時會為讀者理解基本演算法問題和解決問題打下很好的基礎。全書共11章。分別介紹了樹、圖、計數問題、歸納遞歸、遍歷、分解合併、貪心演算法、複雜依賴、Dijkstra演算法、匹配切割問題以及困難問題及其稀釋等內容。本書在每一章結束的時候均有練習題和參考資料,這為讀者的自我檢查以及進一步學習提供了較多的便利。在全書的結尾,給出了練習題的提示,方便讀者進行查漏補缺。
python畫櫻花樹代碼 具體代碼介紹
1、python畫櫻花樹代碼為:
import turtle as T
import random
import time
2、# 畫櫻花的軀幹(60,t)
def Tree(branch, t):
time.sleep(0.0005)
if branch 3:
if 8 = branch = 12:
if random.randint(0, 2) == 0:
t.color(‘snow’) # 白
else:
t.color(‘lightcoral’) # 淡珊瑚色
t.pensize(branch / 3)
elif branch 8:
if random.randint(0, 1) == 0:
t.color(‘snow’)
else:
t.color(‘lightcoral’) # 淡珊瑚色
t.pensize(branch / 2)
else:
t.color(‘sienna’) # 赭(zhě)色
t.pensize(branch / 10) # 6
t.forward(branch)
a = 1.5 * random.random()
t.right(20 * a)
b = 1.5 * random.random()
Tree(branch – 10 * b, t)
t.left(40 * a)
Tree(branch – 10 * b, t)
t.right(20 * a)
t.up()
t.backward(branch)
t.down()
3、# 掉落的花瓣
def Petal(m, t):
for i in range(m):
a = 200 – 400 * random.random()
b = 10 – 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color(‘lightcoral’) # 淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
# 繪圖區域
t = T.Turtle()
# 畫布大小
w = T.Screen()
t.hideturtle() # 隱藏畫筆
t.getscreen().tracer(5, 0)
w.screensize(bg=’wheat’) # wheat小麥
t.left(90)
t.up()
t.backward(150)
t.down()
t.color(‘sienna’)
4、# 畫櫻花的軀幹
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick()
原創文章,作者:QRNS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142036.html