循環(huán)用于重復執(zhí)行一些程序塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程序塊的隸屬關系。循環(huán)也會用到類似的寫法。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網頁空間、營銷軟件、網站建設、通渭網站維護、網站推廣。
for循環(huán)
for循環(huán)需要預先設定好循環(huán)的次數(n),然后執(zhí)行隸屬于for的語句n次。
基本構造是
for 元素 in 序列:
statement
舉例來說,我們編輯一個叫forDemo.py的文件
for a in [3,4.4,'life']:
print a
這個循環(huán)就是每次從表[3,4.4,'life'] 中取出一個元素(回憶:表是一種序列),然后將這個元素賦值給a,之后執(zhí)行隸屬于for的操作(print)。
介紹一個新的Python函數range(),來幫助你建立表。
idx = range(5)
print idx
可以看到idx是[0,1,2,3,4]
這個函數的功能是新建一個表。這個表的元素都是整數,從0開始,下一個元素比前一個大1, 直到函數中所寫的上限 (不包括該上限本身)
(關于range(),還有豐富用法,有興趣可以查閱, Python 3中, range()用法有變化,見評論區(qū))
舉例
for a in range(10):
print a**2
while循環(huán)
while的用法是
while 條件:
statement
while會不停地循環(huán)執(zhí)行隸屬于它的語句,直到條件為假(False)
舉例
while i 10:
print i
i = i + 1
中斷循環(huán)
continue # 在循環(huán)的某一次執(zhí)行中,如果遇到continue, 那么跳過這一次執(zhí)行,進行下一次的操作
break # 停止執(zhí)行整個循環(huán)
for i in range(10):
if i == 2:
continue
print i
當循環(huán)執(zhí)行到i = 2的時候,if條件成立,觸發(fā)continue, 跳過本次執(zhí)行(不執(zhí)行print),繼續(xù)進行下一次執(zhí)行(i = 3)。
for i in range(10):
if i == 2:
break
print i
當循環(huán)執(zhí)行到i = 2的時候,if條件成立,觸發(fā)break, 整個循環(huán)停止。
可以使用 for 循環(huán)語句來實現這個功能。代碼如下:
sum = 0 # 用于存儲和
# 從1開始循環(huán),每次加3
for i in range(1, 1002, 3):
sum += i
print(sum) # 打印計算結果
上面的代碼中,我們使用了 range() 函數,從1開始循環(huán),每次加3,直到循環(huán)到1002為止。這樣,我們就可以通過循環(huán)語句,計算出1+4+7+10+……
for 變量 in range(次數):被執(zhí)行的語句? ? ? ? ? ? ? ? ? ? ? ?變量:表示每次循環(huán)的次數,0-1之間
range(n)n表示產生0到n-1的整數序列共N個? ? ? ? ? ? ? ?range(m,n)? 產生m到n-1的整數序列,共n-m個
循環(huán)for語句? :for 循環(huán)變量 in遍歷結構:語句體1? else:語句體2?
無限循環(huán): while條件: 語句塊
while 條件:語句體1 else: 語句體2
循環(huán)保留字:break? ? ?continue
方法1:from random import random
from time import perf_counter
DARTS=1000
hits=0.0
start =perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)
if dist=1.0:
? ? hits =hits+1
pi=4*(hits/DARTS)
print("圓周率是:{}".format(pi))
print("運行時間是{:.5f}s".format(perf_counter()-start))
方法2:
pi=0
n=100
for k in range(n):
pi += 1/pow(16,k)*(\
? ? 4/(8*k+1)-2/(8*k+4) - \
? ? 1/(8*k+5) - 1/(8*k+6))
print("圓周率值是:{}".format(pi))
def 函數名 (0個或者多個):函數體? renturn 返回值
def 函數名 (非可選參數,可選參數):函數體? renturn 返回值
參數傳遞的兩種方式:位置傳遞,名稱傳遞
科赫雪花:
import turtle
def koch(size,n):
if n==0:
? ? turtle.fd(size)
else:
? ? for angle in [0,60,-120,60]:
? ? ? ? turtle.left(angle)
? ? ? ? koch(size/3,n-1)
def main():
turtle.setup(400,200)
turtle.penup()
turtle.pendown()
turtle.pensize(2)
l=3
koch(600,l)
turtle.right(120)
turtle.pencolor('blue')
koch(600,l)
turtle.right(120)
turtle.pencolor('red')
koch(600,l)
turtle.speed(3000)
turtle.hideturtle()
main()
階乘:
def fact(n):
s=1
for i in range(1,n+1):
? ? s*=i
return s
c=eval(input("從鍵盤輸入一個數字"))
print("階乘結果",fact(c))
想要實現從 0 到 10 的累加,可以執(zhí)行如下代碼:
print("計算 0+2+...+10 的結果為:")
#保存累加結果的變量result = 0
#逐個獲取從 0到 10 這些值,并做累加操作
for i in range(0,10):
result += iprint(result)
上面代碼中,使用了 range() 函數,此函數是 Python 內置函數,用于生成一系列連續(xù)整數,多用于 for 循環(huán)中。
擴展資料:
使用Python編程時的注意事項:
1、初始變化量
在Python里,一個表達式中的名字在它被賦值之前是沒法使用的。這是有意而為的:這樣能避免一些輸入失誤,同時也能避免默認究竟應該是什么類型的問題(0,None,””,[],?)。記住把計數器初始化為0,列表初始化為[],以此類推。
2、從第一列開始
確保把頂層的,未嵌套的代碼放在最左邊第一列開始。這包括在模塊文件中未嵌套的代碼,以及在交互提示符中未嵌套的代碼。Python使用縮進的辦法來區(qū)分嵌套的代碼段,因此在你代碼左邊的空格意味著嵌套的代碼塊。除了縮進以外,空格通常是被忽略掉的。
編寫循環(huán)的技巧,for循環(huán)包含了常見的計數器式循環(huán)。由于通常for循環(huán)比while循環(huán)更容易寫,也執(zhí)行得更快,所以for循環(huán)一般是你遍歷序列或其他可迭代對象時的首選。事實上,作為一條通用法則,你應該克制在Python中使用計數方式的誘惑——Python提供的迭代工具,能幫你把像C這樣低級語言中循環(huán)集合體的工作自動化。不過,有些情況下你還是需要以更為特定的方式進行迭代。例如,如果你需要在列表中每隔一個元素或每隔兩個元素進行訪問,或是要同時修改列表呢?如果在同一個for循環(huán)內,并行遍歷一個以上的序列呢?如果你也需要進行索引呢?
你總是可以用while循環(huán)和手動索引運算來編寫這些獨特的循環(huán),但是python提供了一套內置函數,可以幫你在for循環(huán)內定制迭代:·內置函數range (Python 0.X及之后版本可用)返回一系列連續(xù)增加的整數,可作為for中的索引。內置函數zip (Python 2.0及之后版本可用)返回一系列并行元素的元組,可用于在for中內遍歷多個序列。內置函數enumerate (Python 2.3及之后版本可用)同時生成可迭代對象中元素的值和索引,因而我們不必再手動計數。內置函數map (Python 1.0及之后版本可用)在Python 2.X中與zip有著相似的效果,但是在3.X中 map 的這一角色被移除了。因為for循環(huán)可能會比基于while的計數器循環(huán)運行得更快,所以借助這些工具并盡可能地使用for循環(huán),會讓你受益匪淺。讓我們在常見的使用場景下,依次看一看這些內置函數吧。我們將會看到,它們的用法在Python 2.X和3.X中稍有不同,同時它們中的一些要比其他的更加有效。
網頁標題:python循環(huán)函數程序 Python循環(huán)程序
網頁路徑:http://muchs.cn/article44/hgsche.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站維護、微信公眾號、微信小程序、外貿網站建設、企業(yè)網站制作、標簽優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯