import?turtle
創(chuàng)新互聯(lián)建站專業(yè)網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
#draw?first?circle
turtle.penup()
turtle.goto(0,-200)
turtle.pendown()
turtle.circle(200)
#draw?second?circle
turtle.penup()
turtle.goto(0,-150)
turtle.pendown()
turtle.circle(150)
#draw?third?circle
turtle.penup()
turtle.goto(0,-100)
turtle.pendown()
turtle.circle(100)
#draw?fourth?circle
turtle.penup()
turtle.goto(0,-50)
turtle.pendown()
turtle.circle(50)
畫筆的坐標(biāo)默認在0,0,就以它為圓心。
因為turtle畫圓的時候是從圓的底部開始畫的,所以需要找到四個圓底部的坐標(biāo)
比如:
第一個半徑為200的圓,底部為(0,-200)
第二個半徑為150的圓,底部為(0,-150)
第三個半徑為100的圓,底部為(0,-100)
第四個半徑為 ?50的圓,底部為(0, ?-50)
畫的時候按下面的步驟:
抬起畫筆:turtle.penup()
移動到相應(yīng)坐標(biāo):turtle.goto(坐標(biāo))
放下畫筆:turtle.pendown()
畫圓:turtle.circle(半徑)
效果如下圖所示:
import turtle
turtle.showturtle() #屏幕上顯示出來海龜繪圖,終端中會用到
turtle.penup() #抬起畫筆,此時畫筆的移動不會留下痕跡
turtle.pendown() #放下畫筆,此時畫筆的移動會留下痕跡
turtle.pensize(3) #筆粗為3
turtle.goto(-200,100) #將畫筆移動到(-200,100)坐標(biāo)
turtle.color("red") #設(shè)定畫筆的顏色為紅色
turtle.circle(100) #以當(dāng)前畫筆所在點為圓最下端開始畫半徑為100的圓
turtle.circle(100,steps=n) #繪制一個周長為100,的n邊形
turtle.forward(200) #將畫筆前進200
turtle.backward(100) #將比后退100
turtle.right(70) #將畫筆箭頭的方向向右移70度
turtle.left(90) #將畫筆箭頭的方向向左移90度
turtle.stamp() #復(fù)制當(dāng)前圖形
turtle.write("hello,小朋友",font=('宋體',20,"normal")) #添加括號里的字符,font設(shè)置字符字體,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #將畫筆隱藏
turtle.done() #把所繪圖顯示出來,不關(guān)閉繪圖軟件
給繪制的圖形填充顏色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:畫出奧運五環(huán)
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
python有兩種編程方式,交互式和文件式。
交互式:對每個輸入語句即時運行結(jié)果------適合語法練習(xí)
文件式:批量執(zhí)行一組語句并運行結(jié)果------編程的主要方式
實例1:圓面積的計算(根據(jù)半徑r計算圓面積)
上圖明顯是交互式運行的結(jié)果,如果想編輯文件式運行,則先編輯一個calcircle.py文件,將上述代碼寫進去。
然后輸入代碼 python calcircle.py,命令界面即可輸出代碼結(jié)果。
下面我們試試繪制多個同心圓的代碼:
1 import turtle 2 turtle.pensize(2) 3 turtle.circle(10) 4 turtle.circle(40) 5 turtle.circle(80) 6 turtle.circle(160) 7 turtle.done()
運行結(jié)果,如下圖所示
下面我們稍微分析一下這段代碼
import turtle#導(dǎo)入海龜庫 turtle.pensize(2)#設(shè)置畫筆的大小 turtle.circle(10)#畫圓,半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓 turtle.circle(40) turtle.circle(80) turtle.circle(160) turtle.done()#必須是烏龜圖形程序中的最后一個語句
關(guān)于turtle庫的使用,之后還會提及,turtle庫是python的自帶庫,繪制圖像相對來說比較方便,容易理解
當(dāng)然上述的代碼也可以這樣寫
1 from turtle import * 2 pensize(2) 3 circle(10) 4 circle(40) 5 circle(80) 6 circle(160) 7 done()
大家很容易發(fā)現(xiàn)他們的不同,就是第一句的區(qū)別,關(guān)于import的用法也將在后續(xù)章節(jié)詳細講述。
下面我們來畫一個難一點的圖形
from turtle import * color('red','black')#前一個顏色是線條色,后一個是填充色 begin_fill()#從這里開始填充 for i in range(5):#畫五筆就可以結(jié)束 fd(200) rt(144)#向右旋轉(zhuǎn)144度 end_fill()#結(jié)束填充 done()
下面我們從一個簡單的小程序來分析python的語法體系
我們大家都知道,華氏溫度和攝氏溫度之間的轉(zhuǎn)換,我們可以用python編程實現(xiàn)
TempStr = input("請輸入帶有符號的溫度值: ")#input顯示的內(nèi)容出現(xiàn)在屏幕上,且返回一個str類型的字符串 if TempStr[-1] in ['F', 'f']:#如果最后一個字符是F C = (eval(TempStr[0:-1]) - 32)/1.8#eval將字符串轉(zhuǎn)換成數(shù)字 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))#格式化輸出 elif TempStr[-1] in ['C', 'c']: F = 1.8*eval(TempStr[0:-1]) + 32 print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F)) else: print("輸入格式錯誤")
縮進:縮進表達程序的格式框架
1、嚴格明確:縮進是語法的一部分,縮進不正確程序運行錯誤
2、所屬關(guān)系:表達代碼間包含層次關(guān)系的唯一手段
3、長度一致:使用TAB鍵即可
python編程語言有一個重要的特點就是取消了{ }而用縮進的方式進行代碼塊的分割,初學(xué)者可能不習(xí)慣,多寫幾次就習(xí)慣了這種寫法。
注釋:不被程序執(zhí)行的輔助性說明信息
單行注釋:
#這是單行注釋
多行注釋:
1 ''' 這是多行注釋 2 3 23333333333333 '''
變量:程序中用于保存和表示數(shù)據(jù)的占位符號
變量采用標(biāo)識符(名字)來表示,關(guān)聯(lián)標(biāo)識符的過程叫命名
TempStr是變量名字
可以使用等號(=)向變量賦值或修改值,=被稱為賦值符
TempStr="82F" #向變量TempStr賦值"82F"
命名規(guī)則:大小寫字母、數(shù)字、下劃線和漢字等字符
如:TempStr、Python_Great
注意事項:大小寫敏感、首字符不能是數(shù)字、不與保留字相同
python與Python是不同的變量,123Python是不合法變量
保留字
被編程語言內(nèi)部定義并保留使用的標(biāo)識符
python語言有33個保留字(也叫關(guān)鍵字)
if,elif,else,in
保留字是編程語言的基本單詞,大小寫敏感
if是保留字,If是變量
保留字
數(shù)據(jù)類型
字符串、整數(shù)、浮點數(shù)、列表
10011101該如何解釋呢?
這是一個二進制數(shù)字或十進制數(shù)字
作為二進制數(shù)字,10011101的值是十進制157
這是一段文本或者用逗號分隔3個數(shù)字
作為一段文本,逗號是文本中的一部分,一共包含10個字符
整數(shù)類型10011101
字符串類型:"10,011,101"
列表類型:[10,011,101]
字符串:由0個或多個字符組成的有序字符序列
由一對雙引號或一對單引號表示
"helloworld"或'GOOD'
字符串是字符的有序序列,可以對其中字符進行索引
如"你"是"你好啊"這個字符串的第0個字符
python的字符串序號,正向遞增,反向遞減
字符串的使用
使用[ ]獲取字符串中一個或多個字符
1 TempStr = input("請輸入帶有符號的溫度值: ") 2 if TempStr[-1] in ['F', 'f']:#TempStr[-1]指的是最后一個字符 3 C = (eval(TempStr[0:-1]) - 32)/1.8#TempStr[0:-1]指的是字符串從第一個到最后一個之前的所有字符串 4 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C)) 5 elif TempStr[-1] in ['C', 'c']: 6 F = 1.8*eval(TempStr[0:-1]) + 32 7 print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F)) 8 else: 9 print("輸入格式錯誤")
數(shù)字類型:整數(shù)和浮點數(shù)
整數(shù):數(shù)學(xué)中的整數(shù)
32或-89
浮點數(shù):數(shù)學(xué)中的實數(shù),帶有小數(shù)部分
1.8或者-1.8或者-1.0
列表類型:由0個或多個數(shù)據(jù)組成的有序序列
列表使用[ ]表示,采用逗號分隔各元素
[ 'F' , 'f' ]表示列表里含義兩個元素'F'和'f'
使用保留字in判斷一個元素是否在列表中
TempStr[-1] in ['C' , 'c']判斷前者是否與列表中的某個元素相同
賦值語句:由賦值符號構(gòu)成的一行代碼
賦值符號筆者之前提過,就是我們俗稱的等于號,但等于號在編程語言中通常表示賦值,不表示等于號的含義。
1、賦值語句用來給變量賦予新的數(shù)據(jù)值
C = (eval(TempStr[0:-1]) - 32)/1.8 #右側(cè)運算結(jié)果值賦值給C
2、賦值語句右側(cè)的數(shù)據(jù)類型同時作用于變量
TempStr = input("請輸入帶有符號的溫度值: ") #input返回一個字符串,所以TempStr也是字符串
分支語句:由判斷條件決定程序運行方向的語句
1 if TempStr[-1] in ['F', 'f']:
如果條件為True則執(zhí)行冒號后的語句
2、每個保留字所在行最后存在一個冒號:,是語法的一部分
冒號及后續(xù)縮進用來表示后續(xù)語句與條件的所屬關(guān)系
函數(shù):根據(jù)輸入?yún)?shù)產(chǎn)生不同輸出的功能過程
類似于數(shù)學(xué)中的函數(shù),y=f(x)
print("輸入格式錯誤") #打印出 輸入格式錯誤
函數(shù)采用函數(shù)名(參數(shù))的方式使用
1 eval(TempStr[0:-1])#TempStr[0:-1]是參數(shù)
python的輸入輸出
input():從控制臺獲得用戶輸入的函數(shù)
input()函數(shù)的使用格式:
1 變量=input (提示信息字符串)
用戶輸入的信息以字符串類型保存在變量中
1 TempStr=input("請輸入") #TempStr保存用戶輸入的信息
輸出函數(shù)print()
以字符形式向控制臺輸出結(jié)果的函數(shù)
print()函數(shù)的基本使用格式
1 print(擬輸出字符串或字符串變量)
字符串類型的一對引號僅在程序內(nèi)部使用,輸出無引用
1 print("輸入格式錯誤")#向控制臺輸出 輸入格式錯誤
print函數(shù)的格式化:
1 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))
{ }表示槽,后續(xù)變量填充到槽中
{:.2f}表示將變量C填充到這個位置時取小數(shù)點后2位
如果C的值是123.456789,則輸出結(jié)果為123.45C
評估函數(shù)eval():去掉參數(shù)最外側(cè)引號并執(zhí)行余下語句的函數(shù)
eval的基本使用格式
1 eval(字符串或字符串變量)
eval("1") 1