Python語言基礎與應用 課件 第2章 Python 基本語法概述_第1頁
Python語言基礎與應用 課件 第2章 Python 基本語法概述_第2頁
Python語言基礎與應用 課件 第2章 Python 基本語法概述_第3頁
Python語言基礎與應用 課件 第2章 Python 基本語法概述_第4頁
Python語言基礎與應用 課件 第2章 Python 基本語法概述_第5頁
已閱讀5頁,還剩85頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2.1Python語言的編程規范

2.2常量、變量與對象

2.3數據類型

2.4Python的語句概述

2.5輸入/輸出函數

2.6turtle庫

第2章Python的基本語法概述考綱考點程序的基本語法元素:程序的格式框架、縮進、

注釋、變量、命名、保留字、數據類型、賦值語

句、引用語句、控制語句基本輸入輸出函數:input()、eval()、print()Turtle庫知識導圖2.1Python語言的編程規范2.1.1代碼縮進

Python語言采用嚴格的“縮進”來表明程序的格式框架。縮進指每一行代碼開始前的空白區域,用來表示代碼之間的包含和層次關系。

1個縮進

=4個空格縮進是Python語言中表明程序框架的唯一手段縮進

當表達分支、循環、函數、類等程序含義時,在if、while、for、def、class等保留字所在完整語句后通過英文冒號(:)結尾,表示縮進的開始。

python程序是依靠代碼塊的縮進來體現代碼之間的邏輯關系的,縮進結束就表示一個代碼塊結束了。

同一個級別的代碼塊的縮進量必須相同例2-1編程,根據輸入的年份和月份計算出該月的天數。代碼如下:year=int(input("請輸入年份:"))month=int(input("請輸入月份:"))ifmonth==2:ifyear%4==0andyear%100!=0oryear%400==0:days=29else:days=28elifmonthin[4,6,9,11]:days=30else:days=31print("本月天數是:",days)2.1.2注釋注釋是代碼中的輔助性文字,會被編譯或解釋器略去,不被計算機執行,一般用于程序員對代碼的說明。Python語言采用#表示一行注釋的開始,?

?注釋可以在一行中任意位置通過“#”開始,其后的本行內容被當作注釋,而之前的內容仍然是python執行程序的一部分。注釋

多行注釋可以用三個單引號(''')括起來。?

??

?2.1.3續行?

?續行符可以提高代碼的可讀性和可維護性。當一行代碼過長時,不僅會導致代碼難以閱讀和修改,還會影響代碼的性能??梢允褂梅葱备埽╘)來實現代碼的續行

還可以使用括號續行。Python會自動將這幾行代碼當作一行代碼來處理,文件方式和交互方式下均可使用。?

??

?2.1.4標識符的命名?

?標識符是用戶編程時使用的名字。對標識符命名是編程語言規則的一部分,它規定了如何為變量、函數、類、模塊等編程元素取名字。一般采用字母、數字、下劃線,甚至漢字等字符及其組合進行命名,但要注意的是,首字符不能是數字,不允許使用空格和特殊字符(如感嘆號、問號、冒號等)例如:變量名my_variable,函數名_my_function,類名MyClass等等

標識符對大小寫敏感,即china和China是兩個不同的名字;對標識符命名還需要注意的是不能與python的保留字相同。?

??

??

?續行符可以提高代碼的可讀性和可維護性。當一行代碼過長時,不僅會導致代碼難以閱讀和修改,還會影響代碼的性能。可以使用反斜杠(\)來實現代碼的續行

保留字,也稱為關鍵字,指被編程語言內部定義并保留使用的標識符。程序員編寫程序不能定義與保留字相同的標識符。

每種程序設計語言都有一套保留字,保留字一般用來構成程序整體框架、表達關鍵值和具有結構性的復雜語義等。掌握一門編程語言首先要熟記其所對應的保留字。2.1.5保留字

Python3.x保留字列表

(35個)2.2常量、變量與對象2.2.1常量所謂常量,一般是指不需要改變也不能改變的字面值?

?在python中,還會出現一類符號常量,一般用大寫字母來表示例如一個數字5,一個字符串“hello!”,一個列表[1,2,3],等等。例如:MAX_VALUE、PI

Python中并沒有真正的符號常量,由于Python中沒有強制符號常量類型的定義方式,這些所謂的符號常量類型只是程序員約定俗成的表示方式而已,在實際操作中,其本質還是變量。?

??

?>>>MAX_VALUE=100>>>print(MAX_VALUE)100>>>MAX_VALUE=200>>>print(MAX_VALUE)2002.2.2變量

變量是保存和表示數據值的一種語法元素,在程序中十分常見。顧名思義,變量的值是可以改變的,能夠通過賦值(使用等號=表達)方式被修改,例如(注意空格):?>>>x=5>>>x5>>>x="中國">>>x'中國'2.2.3對象每個對象由:標識(identity),類型(type),值(value)組成在Python中一切皆對象。值表示對象所存儲的數據的信息。使用print(obj)可以直接打印出值標識用于唯一標識對象,通常對應于對象在計算機內存中的地址。使用內置函數id(obj)可返回對象的標識類型用于表示對象存儲的“數據”類型??梢韵拗茖ο蟮娜≈捣秶约翱蓤绦械牟僮?。使用內置函數type(obj)可返回對象的所屬類型其本質:一個內存塊,擁有特定的值,支持特定類型的相關操作特別說明:

在python中,變量其實是對象的引用,因為變量存儲的是對象的地址,變量通過地址引用了“對象”。變量位于:棧內存對象位于:堆內存對象沒有被引用的時候,會被回收到垃圾堆棧內存堆內存3xy1985553168>>>x=3>>>id(x)#查看x的引用地址1985553168>>>id(3)#查看對象3的地址1985553168

在Python中,對象可以分為可變對象和不可變對象。?

??

?不可變對象是指該對象所指向的內存中的值不能被改變。當改變某個變量時,由于其所指的值不能被改變,因此會開辟一個新的地址,變量再指向這個新的地址。在Python中,數值類型(int和float)、字符串(str)和元組(tuple)都是不可變對象。不可變對象棧內存堆內存3x198555316841985553200>>>x=3>>>id(x)1985553168>>>id(3)1985553168>>>x=x+1>>>id(x)1985553200>>>id(3)1985553168>>>id(4)1985553200?

??

?可變對象是指該對象所指向的內存中的值可以被改變。變量(準確的說是引用)改變后,實際上是其所指的值直接發生改變,并沒有發生復制行為,也沒有開辟出新地址,通俗點說就是原地改變。在Python中,列表(list)、字典(dict)和集合(set)是可變對象??勺儗ο髼却娑褍却?x3063083889992234>>>x=[1,2,3]#x為列表>>>id(x)#查看x的引用地址3063083889992>>>x.append(4)#給x增加元素4>>>x[1,2,3,4]#此時x值發生變化>>>id(x)#x的引用地址沒變3063083889992

Python中,可變對象和不可變對象其值都能夠被引用,就是都可以做“讀”操作。但是“寫”操作只能對可變對象進行。?

??

?2.3數據類型

Python語言支持多種數據類型,最簡單的包括數字類型、字符串類型,略微復雜的包括元組類型、集合類型、列表類型、字典類型等。2.3.1數字類型

,Python語言提供3種數字類型:整數、浮點數和復數,分別對應數學中的整數、實數和復數。整數

一個整數值可以表示為十進制、十六進制、八進制和二進制等不同進制形式。在Python3中,整數沒有大小限制,可以是任意大小的整數。十進制:

1010十六進制:0x3F2八進制:

0o1762二進制:

0b001111110010浮點數

一個浮點數可以表示為帶有小數點的一般形式,也可以采用科學計數法表示,只有十進制形式。例如:浮點數123.456,兩種表示方式如下:一般形式:123.456科學計數法:

1.23456e2整數與浮點數混合運算時,表達式自動轉成浮點數復數

Python中的復數由實部和虛部組成,可以使用a+bj或者complex(a,b)表示,其中a和b都是實數,且a稱為復數的實部,b稱為復數的虛部??梢允褂胘或J表示復數的虛部>>>x=5+6j>>>y=7+8j>>>x+y(12+14j)>>>x*y(-13+82j)2.3.2字符串類型

Python語言中,字符串類型數據主要用于處理一些文本類信息,有字符串類型的常量和變量,單個字符也是字符串。

Python使用單引號、雙引號、三個單引號,三個雙引號作為定界符表示字符串,且不同的定界符之間可以相互嵌套使用>>>x="456">>>type(x)<class'str'>>>>x='happy'>>>type(x)<class'str'>>>>x='''Hesaid,"HappyBirthday"'''#為了輸出雙引號,引號嵌套使用>>>x'Hesaid,"HappyBirthday"'2.3.3布爾類型布爾類型數據只有兩個值:True和False。布爾類型的特點是占用內存空間小,使用靈活,常用于if語句、循環語句、條件表達式中,進行邏輯判斷和條件判斷布爾類型可以與其他數據類型進行轉換,如與整數類型(int)進行轉換時,True對應1,False對應0。>>>TrueandTrue#與運算True>>>TrueandFalseFalse>>>FalseandTrueFalse>>>TrueorTrue#或運算True>>>TrueorFalseTrue>>>FalseorTrueTrue>>>notTrue#非運算False>>>notFalseTrue>>>3*True#布爾值可以直接參與整數運算3>>>3*False0and是邏輯與運算,or是邏輯或運算,not是邏輯非運算2.3.4組合數據類型

在Python中,組合數據類型是指可以包含不同類型的元素的數據結構。Python中的組合數據類型主要包括列表(list)、元組(tuple)、字典(dictionary)和集合(set)。列表列表是一種有序的元素集合,可以隨時添加或刪除其中的元素。列表中的元素可以是任何類型,例如字符串、整數、浮點數、其他列表等。列表使用“[]”作為定界符。>>>x=[36,"happy",3.14]>>>type(x)<class'list'>元組元組與列表類似,是一個有序的元素集合,但元組是不可變對象,一旦創建就不能更改。元組中的元素也可以是任何類型。元組使用“()”作為定界符。>>>x=(56,"happy",[3,5,7])>>>x(56,'happy',[3,5,7])>>>type(x)<class'tuple'>字典字典是無序的鍵值對集合。字典中的元素以鍵值對的形式存在,你可以通過鍵來訪問其對應的值。字典中的鍵必須是唯一的。值可以是任何類型,包括列表、元組、字典等。字典使用“{}”作為定界符。>>>x={'name':'John','age':18,'hobbies':['fishing','reading']}>>>x{'name':'John','hobbies':['fishing','reading'],'age':18}>>>type(x)<class'dict'>集合集合是一個無序的唯一元素集合。集合中的元素都是唯一的,不會重復。集合支持一些數學集合的操作,如并集、交集、差集等。集合中的元素只能是不可變對象。集合也使用“{}”作為定界符。>>>x={3.14,4,'abc',(4,6)}>>>x{3.14,4,(4,6),'abc'}>>>type(x)<class'set'>2.4Python的語句概述

2.4.1表達式

產生或計算新數據值的代碼片段稱為表達式。表達式類似數學中的計算公式,以表達單一功能為目的,運算后產生運算結果,運算結果的類型由操作符或運算符決定。

表達式一般由數據和操作符等構成,這是構成Python語句的重要部分,單個常量或變量可以看作最簡單的表達式?,F在主要區別一下表達式和語句,示例代碼如下:>>>3*26>>>x=3*2>>>x62.4.2賦值語句

Python語言中,=表示“賦值”,即將等號右側的值計算后將結果值賦給左側變量,包含等號(=)的語句稱為“賦值語句”<變量>=<表達式>示例代碼如下:>>>x=99#給變量x賦值為整數值99>>>y=3.33#給變量y賦值為浮點數3.33>>>z="你好,中國!"#給變量z賦值為字符串"你好,中國!"多重賦值同時將多個變量的值賦給多個表達式>>>x,y,z=3,7.8,"hi"#多重賦值>>>x3>>>y7.8>>>z'hi'>>>x,y=y,x#多重賦值,交換x,y的值>>>x7.8>>>y3增強賦值使用+=、-=、*=、/=等運算符對變量進行增強賦值。>>>x,y,z=1,2,3>>>x+=10#等價于x=x+10>>>y-=5#等價于y=y-5>>>z*=2#等價于z=z*2鏈式賦值可以將同一個值賦給多個變量。>>>x=y=z=3#鏈式賦值>>>x3>>>y3>>>z3解構賦值將一個元組或列表的值解包并賦給多個變量。>>>x,y=[1,2]#將列表[1,2]解包,并將1賦給x,2賦給y>>>x1>>>y22.4.3import語句在python默認的安裝中僅包含了核心模塊,啟動python時也只加載了核心模塊,還有一些標準庫是啟動時沒裝入內存的,這樣做的好處是可以減小程序運行的壓力。所以,當用戶需要使用標準庫和第三方庫的時候,就會有一步非常重要的第一步操作,即導入庫,導入使用的是import語句。下面介紹三種格式的導入的方法。方法1這種格式的導入語句,在使用的時候需要在模塊對象的前面加上模塊名作為前綴,必須以“模塊名.對象“的方式進行訪問。如果模塊名字很長的話,可以為導入的模塊設置一個別名,使用“別名.對象名”進行訪問。

格式:import模塊名[as別名]importmath#導入標準庫mathresult=math.sqrt(16)#計算16的平方根print(result)#輸出結果importrandomasr#導入標準庫random,并設置別名rx=r.random()#獲得[0.0,1.0)區間的隨機小數方法2這種格式的導入語句,僅導入明確指定的對象,也可以為導入的對象確定一個別名。此導入方式可以減少查詢次數,提高訪問速度,同時也可以減少輸入量,不需要使用模塊名為前綴。

格式:from模塊名import對象名[as別名]>>>frommathimportsin#導入標準庫math中的指定對象sin>>>sin(3.14)0.0015926529164868282>>>cos(3.14)#math庫中的cos對象并沒導入,出錯Traceback(mostrecentcalllast):File"<pyshell#100>",line1,in<module>cos(3.14)NameError:name'cos'isnotdefined>>>frommathimportcosasf#導入cos,并起別名為f>>>f(3.14)-0.9999987317275395方法3是方法2的極端情況,可以一次導入模塊中所有對象。一般不推薦使用,一方面,會降低代碼的可讀性,有時很難區分自定義函數和從模塊中導入的函數;另一方面,會導致命名空間的混亂。如果多個模塊中有同名的對象,只有最后一個導入的模塊中的對象是有效的。

格式:from模塊名import*>>>frommathimport*#導入math庫>>>gcd(12,24)#求最大公約數12>>>pi#常數?3.141592653589793>>>log2(8)#計算以2為底的8的對數3.0>>>sin(4)#求sin函數值-0.75680249530792822.4.4控制語句

除了賦值語句外,Python程序還包括一些其他的語句類型,例如,分支語句和循環語句等。更多的分支和循環內容將在第4章介紹。這里僅簡要介紹這兩類語句的基本使用。??分支語句if

if語句,是一種選擇結構,有單分支、二分支和多分支,其作用是根據判斷條件選擇程序執行路徑。示例代碼如下:x=10ifx>5:print("x大于5")else:print("x不大于5")??for語句

for語句,是一種循環結構,其作用是根據判斷條件確定一段程序是否需要反復執行。示例代碼如下:>>>foriinrange(10): print(i,end=",")0,1,2,3,4,5,6,7,8,9,2.5輸入/輸出函數2.5.1input()函數

獲得用戶輸入之前,input()函數可以包含一些提示性文字<變量>=input(<提示性文字>)?

不論用戶輸入什么內容,input()一律作為字符串對待,必要時可以使用內置函數int()、float()或eval()對用戶輸入的內容進行類型轉換>>>x=input("請輸入數字:")請輸入數字:3.14>>>x'3.14'#3.14兩邊有單引號>>>type(x)<class'str'>eval()

函數

eval(<字符串>)函數是Python語言中一個十分重要的函數,它能夠以Python表達式的方式解析并執行字符串,將返回結果輸出>>>a?=?eval("1.2?+?3.4")>>>print(a)4.6?

eval()函數經常和input()函數一起使用,用來獲取用戶輸入的數字,使用方式如下:<變量>=eval(input(<提示性文字>))?>>>x=eval(input("請輸入數字:"))請輸入數字:789>>>type(x)<class'int'>>>>x=eval(input("請輸入數字:"))請輸入數字:7.89>>>type(x)<class'float'>2.5.2print()函數?內置函數print()用于輸出信息,其輸出的信息既可以到標準控制臺(例如:顯示器,打印機等設備)也可以到指定的文件。使用格式如下:

print(value1,value2,...,sep='',end='\n',file=sys.stdout,flush=False)參數說明1?value1,value2,...:參數列表,要打印輸出的值,可以是多個,用逗號分隔。示例代碼如下:>>>a=35>>>print(a)#參數為變量35>>>print("好好學習,報效祖國")#參數為字符串常量好好學習,報效祖國>>>print(["g","o","o","d"])#參數為列表['g','o','o','d']>>>print(35.6)#參數為浮點數35.6參數說明1?參數既可以是字符串、數據值也可以是變量。當參數為變量的時候,運行結果是變量的值;當參數為字符串的時候,運行結果是不帶引號的可打印字符;當參數中包含雙引號字符串時,如上例中的列表“["g","o","o","d"]”,其輸出結果采用單引號形式“['g','o','o','d']”;參數為其他數據類型時,直接輸出表示。參數說明1?print()函數可以有多個參數,各參數之間用逗號分隔,其運行輸出結果之間用一個空格分隔。示例代碼如下:>>>b=10.25>>>print(b,b+1,b*2,1.25)#有四個參數,用逗號分隔10.2511.2520.51.25>>>print("富強","民主","文明")富強

民主

文明參數說明2?sep='':可選參數,指定多個值之間的分隔符字符。如果省略不寫,則默認為一個空格。示例代碼如下:>>>print("富強","民主","文明",sep="**")富強**民主**文明參數說明3?end='\n':可選參數,指定打印輸出后的結束字符。如果省略不寫,則默認為一個換行符。示例代碼如下:>>>foriinrange(3):print(i)012>>>foriinrange(3): print(i,end='&')0&1&2&參數說明4?file=sys.stdout:可選參數,指定輸出文件對象。如果省略不寫,則默認為標準輸出,即輸出結果到屏幕或者打印機。示例代碼如下:>>>withopen(r"d:\output.txt","w")asf: print("床前明月光",file=f)當執行完以上語句內容后,print()函數的file參數,將輸出結果"床前明月光"寫到一個名為output.txt的文件中參數說明5?flush=False:可選參數,指定是否刷新輸出緩沖區。如果省略不寫,則默認為False。示例代碼如下:>>>print("Hi,Mike!",flush=True)Hi,Mike!這個例子中,我們使用了flush=True參數,確保輸出值立即顯示在控制臺上,一般使用中用默認方式即可。因為這個參數涉及到緩沖區的刷新,需要學到更高階才能了解其具體區別,此處只做一般性了解2.6Turtle庫

turtle(海龜)是Python重要的標準庫之一,它能夠進行基本的圖形繪制。

turtle庫繪制圖形有一個基本框架:一個小海龜在坐標系中爬行,其爬行軌跡形成了繪制圖形。對于小海龜來說,有“前進”、“后退”、“旋轉”等爬行行為,對坐標系的探索也通過“前進方向”、“后退方向”、“左側方向”和“右側方向”等小海龜自身角度方位來完成。2.6.1turtle的坐標系????在Python的turtle庫中,我們主要使用了兩種坐標系:空間坐標系和角度坐標系??臻g坐標系:用來描述海龜在畫布上的位置的坐標系。默認狀態下,海龜的初始位置為畫布的中心,也就是原點(0,0)。????角度坐標系:這是用來描述海龜的方向的坐標系。絕對角度坐標系以向右方向水平位置為0度,逆時針方向為正方向。相對角度坐標系與海龜頭的初始位置有關,以海龜頭當前朝向的左右側作為相對角度選擇。2.6.2turtle的畫布函數turtle中有畫布(Canvas)和畫筆兩個工具元素。畫布是turtle模塊用于繪圖的區域,在該畫布上有一個坐標軸,坐標原點在畫布的中心,turtle模塊中的x軸正方向指向右側,y軸正方向指向上方。坐標原點位于畫布的中心。畫布主要使用兩個函數:

turtle.screensize(width,height,bgcolor)作用:設置畫布的大小和背景顏色width參數:設置畫布的寬度height參數:設置畫布的高度bgcolor:設置背景顏色,其值為表示顏色的字符串或者RGB數值。當寬度或者高度為整數時表示的是像素;小數時,表示占據電腦屏幕的比例。當高度或者寬度超過窗口大小時,會出現滾動條。若不設置值,默認參數為(400,300,None)

turtle.setup(width,height,startx,starty)作用:設置主窗體的大小和位置參數:width?:窗口寬度,如果值是整數,表示的像素值;如果值是小數,表示窗口寬度與屏幕的比例;height:?窗口高度,如果值是整數,表示的像素值;如果值是小數,表示窗口高度與屏幕的比例;startx:窗口左側與屏幕左側的像素距離,如果值是None,窗口位于屏幕水平中央;starty:窗口頂部與屏幕頂部的像素距離,如果值是None,窗口位于屏幕垂直中央;2.6.3turtle的畫筆函數????畫筆函數主要分為:畫筆的狀態函數和畫筆運動函數。????畫筆狀態函數主要是指設置使用畫筆時顏色、畫線的寬度、移動速度、爬行模式還是飛行模式等的函數。函數描述pendown()放下畫筆,海龜處于爬行模式,移動畫筆將繪制圖形,別名pd(),down()penup()提起畫筆,海龜處于飛行模式,移動畫筆不會繪制圖形,別名

pu(),up()pensize(width)設置畫筆粗細,width數值越大越粗。別名

width()pencolor()設置畫筆顏色,有一個參數或無參數,當無參數輸入時,返回當前畫筆顏色。color()設置畫筆和背景顏色,有兩個參數begin_fill()設置顏色填充區域的開始。在開始繪制擬填充顏色的圖形前調用end_fill()與begin_fill配對使用,在完成了擬填充顏色的圖形的繪制后使用。使用后該繪制圖形完成顏色的填充。filling()返回填充狀態,True為填充,False為未填充clear()清空當前窗口的所有繪制過的內容,但不改變當前畫筆的位置和角度reset()清空當前窗口,并重置位置等狀態為默認值hideturtle()隱藏畫筆的turtle形狀showturtle()顯示畫筆的turtle形狀isvisible()如果turtle畫筆形狀可見,則返回True,否則返回Falsewrite(str,font=None)根據設置的字體形式,顯示字符串畫筆狀態函數表2-2畫筆狀態函數表????colorstring參數顏色參數的兩種表達

格式:pencolor(colorstring)或者color(colorstring,colorstring)colorstring:表示顏色字符串,例如:“red”、”blue”、”yellow”例2-2.繪制紅邊正方形。程序分析:首先需要導入turtle庫;在畫圖前需要設置畫筆的顏色和粗細,可以使用turtle.pensize()函數和turtle.pencolor()函數;接下來繪制正方形,使用一個for循環來繪制正方形??梢栽O在每次循環中,海龜向前移動100個單位(使用turtle.forward()函數),然后向右轉90度(使用turtle.right()函數)。這個過程重復4次,正好繪制一個正方形的四條邊。最后,使用turtle.done()函數來結束程序。這個函數的作用是保持繪制的圖形在屏幕上顯示,直到用戶手動關閉窗口。????示例代碼如下:importturtleturtle.pensize(20)#設置畫筆線條寬度為20turtle.pencolor("red")#設置畫筆顏色為紅色#讓海龜畫一個正方形foriinrange(4):turtle.forward(100)#向前移動100turtle.right(90)#向右轉90度turtle.done()#結束觀察:從圖中可以看到,雖然繪圖結束,但是在正方形左上角還有一個“箭頭”,這個“箭頭”就是海龜,如果希望隱藏海龜,可以在“turtle.done()”語句前面使用hideturtle()函數。????(r,g,b)參數格式:pencolor((r,g,b))或者color((r,g,b),(r,g,b))在Python的turtle模塊中,顏色是通過RGB(紅綠藍)色彩模式來指定的。(r,g,b)色彩參數通過組合不同比例的紅、綠、藍三種基本顏色的值來產生各種顏色,其色彩覆蓋了視力所能感知的所有顏色。(r,g,b)每個參數的取值范圍為0-255整數或0-1小數,默認采用小數值。????例2-3.繪制實心正方形。程序分析:

首先,使用turtle.begin_fill()函數來標記填充開始。然后使用一個for循環來繪制正方形的四條邊。在每次循環中,海龜向前移動100個單位(使用turtle.fd()函數),然后向右轉90度(使用turtle.right()函數)。這個過程重復4次,正好繪制一個正方形的四條邊。最后,使用turtle.end_fill()函數來標記填充結束。這個函數與begin_fill()函數成對出現,用于定義填充的結束位置。這樣,在正方形內部將會填充上指定的顏色。????示例代碼如下:importturtleturtle.pensize(20)#設置畫筆線條寬度為20turtle.color((1,0,0),(0,0,1))#設置畫筆顏色為紅色,填充色為藍色#讓海龜畫一個正方形turtle.begin_fill()#填充開始foriinrange(4):turtle.fd(100)#向前移動100turtle.right(90)#向右轉90度turtle.end_fill()#填充結束,與begin_fill()成對出現turtle.done()#結束觀察:begin_fill()和end_fill()函數作用是什么?????畫筆運動函數是指控制畫筆的行進位置和角度的函數畫筆運動函數函數描述forward(distance)沿當前畫筆方向移動指定距離,distance參數單位為像素長度,值為負則向向反方向移動。別名fd(distance)backward(distance)沿當前畫筆方向的反方向移動指定距離,distance參數單位為像素長度,值為負則向前進方向移動。別名:bk(distance)right(angle)在當前角度下順時針轉動angle度,是一個相對角度的運動。angle是角度的整數值。別名rt(angle)left(angle)在當前角度下逆時針轉動angle度,是一個相對角度的運動。angle是角度的整數值。別名lt(angle)goto(x,y)將畫筆移動到坐標為(x,y)的位置

setheading(angle)設置當前角度為angle,angle為絕對方向角度值,是角度的整數值。別名seth(angle)circle(radius,extent=None,steps=None)畫半徑為radius的圓:radius為正,則圓心在畫筆的左邊,為負,則圓心在畫筆右邊畫半徑為radius,角度為extent的弧畫半徑為radius的圓的內切正多邊形,邊數為stepshome()設置當前畫筆位置為原點,朝向東undo()撤銷畫筆最后一步動作speed()設置畫筆繪制速度,參數為0-10之間觀察:“turtle.forward(100)”這條語句也可以寫成“turtle.fd(100)”,這就是別名的妙用,表2-2和表2-3中函數的別名通常都比正式名要短得多,例如,pendown()可以直接使用pd(),是一樣的使用效果。表2-3畫筆運動函數2.6.4turtle庫綜合實踐????例2-4繪制電腦印花,印花圖為紅色,如圖所示。。程序分析:該圖是由不同半徑的同心五邊形構成。我們可以使用一個循環反復執行以下操作:使用fd()函數(即forward的縮寫)使海龜向前移動i個單位,其中i是當前循環的索引值,每循環一次其值增大一次;使用right()函數使海龜向右轉動一定的角度。????代碼如下:fromturtleimport*pencolor("red")foriinrange(200):#循環次數還可以增加減少

fd(i)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論