python中實(shí)現(xiàn)循環(huán)指定次數(shù):
創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),上千多家客戶的共同信賴。提供網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、賣鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
count=0
for item in list:
print item
count +=1 ? ?if count % 10 == 0:
print 'did ten'
或:
for count in range(0,len(list)):
print list[count] ? ?if count % 10 == 0:
print 'did ten'
在Python的for循環(huán)里,循環(huán)遍歷可以寫成:
for item in list:
print item
擴(kuò)展資料:
Python 注意事項(xiàng):
1、tuple:元組
(1)元組一旦初始化就不可修改。不可修改意味著tuple更安全。如果可能,能用tuple代替list就盡量用tuple。
(2)定義只有一個(gè)元素的tuple的正確姿勢(shì):t = (1,),括號(hào)內(nèi)添加一個(gè)逗號(hào),否則會(huì)存在歧義。
2、dict:字典
a.獲取value值:dict['key'],若key不存在,編譯器就會(huì)報(bào)錯(cuò)KeyError。避免方法:
一是通過 in 判斷 key 值是否在dict中:
'key' in dict # 返回True 或 False。
二是通過 dict 的函數(shù)get():
dict.get('key') # 返回 value 值 或 None。
循環(huán)用于重復(fù)執(zhí)行一些程序塊。從上一講的選擇結(jié)構(gòu),我們已經(jīng)看到了如何用縮進(jìn)來表示程序塊的隸屬關(guān)系。循環(huán)也會(huì)用到類似的寫法。
for循環(huán)
for循環(huán)需要預(yù)先設(shè)定好循環(huán)的次數(shù)(n),然后執(zhí)行隸屬于for的語句n次。
基本構(gòu)造是
for 元素 in 序列:
statement
舉例來說,我們編輯一個(gè)叫forDemo.py的文件
for a in [3,4.4,'life']:
print a
這個(gè)循環(huán)就是每次從表[3,4.4,'life'] 中取出一個(gè)元素(回憶:表是一種序列),然后將這個(gè)元素賦值給a,之后執(zhí)行隸屬于for的操作(print)。
介紹一個(gè)新的Python函數(shù)range(),來幫助你建立表。
idx = range(5)
print idx
可以看到idx是[0,1,2,3,4]
這個(gè)函數(shù)的功能是新建一個(gè)表。這個(gè)表的元素都是整數(shù),從0開始,下一個(gè)元素比前一個(gè)大1, 直到函數(shù)中所寫的上限 (不包括該上限本身)
(關(guān)于range(),還有豐富用法,有興趣可以查閱, Python 3中, range()用法有變化,見評(píng)論區(qū))
舉例
for a in range(10):
print a**2
while循環(huán)
while的用法是
while 條件:
statement
while會(huì)不停地循環(huán)執(zhí)行隸屬于它的語句,直到條件為假(False)
舉例
while i 10:
print i
i = i + 1
中斷循環(huán)
continue # 在循環(huán)的某一次執(zhí)行中,如果遇到continue, 那么跳過這一次執(zhí)行,進(jìn)行下一次的操作
break # 停止執(zhí)行整個(gè)循環(huán)
for i in range(10):
if i == 2:
continue
print i
當(dāng)循環(huán)執(zhí)行到i = 2的時(shí)候,if條件成立,觸發(fā)continue, 跳過本次執(zhí)行(不執(zhí)行print),繼續(xù)進(jìn)行下一次執(zhí)行(i = 3)。
for i in range(10):
if i == 2:
break
print i
當(dāng)循環(huán)執(zhí)行到i = 2的時(shí)候,if條件成立,觸發(fā)break, 整個(gè)循環(huán)停止。
編寫循環(huán)的技巧,for循環(huán)包含了常見的計(jì)數(shù)器式循環(huán)。由于通常for循環(huán)比while循環(huán)更容易寫,也執(zhí)行得更快,所以for循環(huán)一般是你遍歷序列或其他可迭代對(duì)象時(shí)的首選。事實(shí)上,作為一條通用法則,你應(yīng)該克制在Python中使用計(jì)數(shù)方式的誘惑——Python提供的迭代工具,能幫你把像C這樣低級(jí)語言中循環(huán)集合體的工作自動(dòng)化。不過,有些情況下你還是需要以更為特定的方式進(jìn)行迭代。例如,如果你需要在列表中每隔一個(gè)元素或每隔兩個(gè)元素進(jìn)行訪問,或是要同時(shí)修改列表呢?如果在同一個(gè)for循環(huán)內(nèi),并行遍歷一個(gè)以上的序列呢?如果你也需要進(jìn)行索引呢?
你總是可以用while循環(huán)和手動(dòng)索引運(yùn)算來編寫這些獨(dú)特的循環(huán),但是python提供了一套內(nèi)置函數(shù),可以幫你在for循環(huán)內(nèi)定制迭代:·內(nèi)置函數(shù)range (Python 0.X及之后版本可用)返回一系列連續(xù)增加的整數(shù),可作為for中的索引。內(nèi)置函數(shù)zip (Python 2.0及之后版本可用)返回一系列并行元素的元組,可用于在for中內(nèi)遍歷多個(gè)序列。內(nèi)置函數(shù)enumerate (Python 2.3及之后版本可用)同時(shí)生成可迭代對(duì)象中元素的值和索引,因而我們不必再手動(dòng)計(jì)數(shù)。內(nèi)置函數(shù)map (Python 1.0及之后版本可用)在Python 2.X中與zip有著相似的效果,但是在3.X中 map 的這一角色被移除了。因?yàn)閒or循環(huán)可能會(huì)比基于while的計(jì)數(shù)器循環(huán)運(yùn)行得更快,所以借助這些工具并盡可能地使用for循環(huán),會(huì)讓你受益匪淺。讓我們?cè)诔R姷氖褂脠?chǎng)景下,依次看一看這些內(nèi)置函數(shù)吧。我們將會(huì)看到,它們的用法在Python 2.X和3.X中稍有不同,同時(shí)它們中的一些要比其他的更加有效。
for 變量 in range(次數(shù)):被執(zhí)行的語句? ? ? ? ? ? ? ? ? ? ? ?變量:表示每次循環(huán)的次數(shù),0-1之間
range(n)n表示產(chǎn)生0到n-1的整數(shù)序列共N個(gè)? ? ? ? ? ? ? ?range(m,n)? 產(chǎn)生m到n-1的整數(shù)序列,共n-m個(gè)
循環(huán)for語句? :for 循環(huán)變量 in遍歷結(jié)構(gòu):語句體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("運(yùn)行時(shí)間是{:.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 函數(shù)名 (0個(gè)或者多個(gè)):函數(shù)體? renturn 返回值
def 函數(shù)名 (非可選參數(shù),可選參數(shù)):函數(shù)體? renturn 返回值
參數(shù)傳遞的兩種方式:位置傳遞,名稱傳遞
科赫雪花:
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("從鍵盤輸入一個(gè)數(shù)字"))
print("階乘結(jié)果",fact(c))
本文題目:函數(shù)python循環(huán) python里面循環(huán)
網(wǎng)頁地址:http://chinadenli.net/article6/dogsgig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、標(biāo)簽優(yōu)化、電子商務(wù)、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)