控制語句:順序,選擇,循環
選擇結構(條件判斷結構):
通過判斷條件是否成立,來決定執行哪個分支,分為單分支,雙分支,多分支
單分支選擇結構:
If 條件表達式: #邏輯表達式,關系表達式,算術表達式
語句/語句塊
雙分支選擇結構:
If 條件表達式:
語句/語句塊
else:
語句/語句塊
三元條件運算符:
語法格式:條件為真時的值if(條件表達式)else條件為假時的值
Num=input(‘請輸入一個數字:’)
print(Num if int(Num)<10 else ‘數字太大’)
多分支選擇結構:
If 條件表達式1:
語句1/語句塊1
elif 條件表達式2:
語句2/語句塊2
.........
elif 條件表達式n:
語句n/語句塊n
[else:
語句n+1/語句塊n+1]
選擇結構的嵌套:
選擇結構可以嵌套,注意不同代碼塊之間的縮進量
While循環:
While 條件表達式:
循環體語句
num=0
sum=0
while num<=100: #計算1~100的數字和
sum+=num
num+=1
print(sum)
for 循環和可迭代對象遍歷:
for 循環通常適用於可迭代對象的遍歷:
for 變量 in 可迭代對象:
可迭代對象
for i in range(5):
print(i)
遍歷字典:
a = {'name': 'gaoqi', 'age': 18, 'job': 'student'}
for i in a:
for i in a.keys():
for i in a.values():
break語句:
在while和for循環中使用break語句,用來結束整個循環,當有嵌套循環時,只能跳出最近一層的循環
continue語句:
continue用於結束本次循環,繼續下一次,多個循環嵌套時,應用於最近的一次循環
else語句:
循環中可以附帶一個else語句(可選),如果循環語句沒有被break結束,則會執行else語句,否則不執行
循環代碼優化:
盡量減少循環內部不必要的計算
嵌套循環中,盡量減少內層循環的計算
局部變量查詢較快,盡量使用局部變量
使zip()並行迭代:
我們可以通過zip()函數對多個函數進行並行迭代,在最短序列用完時會停止迭代
name = ('1', '2', '3', '4')
age = ('1', '2', '3', '4')
job = ('1', '2', '3')
for names, ages, jobs in zip(name, age, job):
print('{0}--{1}--{2}'.format(names, ages, jobs))
for i in range(3):
print('{0}--{1}--{2}'.format(name[i], age[i], job[i]))
推導式創建序列:
列表推導式生成列表對象:
[表達式 for item in 可迭代對象 if 條件判斷]
#可以使用兩個循環,使用zip並行迭代
cells=[(row,col)for row,col in zip(range(1,10),range(101,110))]
for cell in cells:
print(cell)
字典推導式:
{key:value for 表達式 in 可迭代對象}
citys = ['北京', '上海', '深圳', '廣州']
s = {id * 100: city for id, city in zip(range(1, 5), citys)}
print(s)
集合推導式:
{表達式 for item in 可迭代對象 if 條件判斷}
生成器推導式(不直接生成元組):
一個生成器只能運行一次,第一次迭代可以得到數據,第二次數據就已經沒有了
(表達式 for item in 可迭代對象 if 條件判斷)
繪制不同顏色的同心圓:
import turtle
p = turtle.Pen()
radius = [x * 10 for x in range(1, 11)]
p.width(4)
my_color = ('red', 'yellow', 'blue', 'black')
for r, i in zip(radius, range(len(radius))):
p.penup()
p.goto(0, -r)
p.pendown()
p.color(my_color[i % len(my_color)])
p.circle(r)
turtle.done()
作者:small_monsters
游戲編程,一個游戲開發收藏夾~
如果圖片長時間未顯示,請使用Chrome內核浏覽器。