pre

創(chuàng)新互聯(lián)主營(yíng)宜城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,宜城h5微信小程序定制開(kāi)發(fā)搭建,宜城網(wǎng)站營(yíng)銷(xiāo)推廣歡迎宜城等地區(qū)企業(yè)咨詢(xún)
da =[
['a',30,0.45],
['b',31,0.43548],
['c',32, 0.43],
['d',33, 0.42],
['e',34, 0.41],
['f',35, 0.40],
['g',36, 0.39],
['h',37, 0.38]
]
li = [] # 存放符合條件的數(shù)
lp = [] # 正參與循環(huán)的數(shù)
total = 0.0 # 求和
no = 0 # 總循環(huán)次數(shù)
i,ln = 0,len(da)
while True:
if i ln: # 加入循環(huán)
lp +=[da[i]]
print('{}次后{}參入循環(huán)!'.format(no,da[i][0]))
i += 1
while lp:
no += 1
for j in range(len(lp)-1,-1,-1):
total += lp[j][2]
lp[j][1] -= 1
if lp [j][1] == 0:
print('{}次后,{}循環(huán)結(jié)束!'.format(no,lp[j][0]))
del lp[j]
if total = 10:
li += [[no,round(total-10,5)]]
total = 0
break
if i==ln and lp == []:
print('最后值為:{}'.format(total))
break
print('\n符合條件的值有{}個(gè),他們?nèi)缦拢篭n'.format(len(li)),'*'*40)
for i in range(len(li)):
print(li[i][0],'次循環(huán)后,符合條件,其和為:',10+li[i][1],' ,減10后為:',li[i][1])
/pre
如果非要自己定義一個(gè)函數(shù)用循環(huán)求階乘,可以這樣寫(xiě)(縮進(jìn)格式見(jiàn)下圖):
def jc(n):
i,fact=1,1
while i=n:
fact*=i
i+=1
return fact
print(jc(6))
運(yùn)行截圖:
稍微比較好一點(diǎn)的方法是用functools模塊的reduce函數(shù),像這樣:
from functools import reduce
n=6
fact=reduce(lambda x,y:x*y,range(1,n+1))
print(fact)
更好一點(diǎn)的辦法是直接使用math模塊的求階乘的函數(shù)factorial,像這樣寫(xiě):
import math
print(math.factorial(6))
for ... in ...
//?for?...?in?字符串
for?i?in?'abc':
print(i)
'''
a
b
c
'''
//?for?...?in?數(shù)組
for?i?in?['a',?'b',?'c']:
print(i)
'''
a
b
c
'''
//?for?...?in?元組
for?i?in?('a',?'b',?'c'):
print(i)
'''
a
b
c
'''
//?for?...?in?字典(得到的是字典的key)
for?k?in?{'學(xué)號(hào)':30,'姓名':'小明'}:
print(k)
'''
姓名
學(xué)號(hào)
'''
//?for?...?in?字典.items()(得到的是字典的key,?value)
for?k,?v?in?{'學(xué)號(hào)':30,'姓名':'小明'}.items():
print(k,?v)
'''
姓名?小明
學(xué)號(hào)?30
'''
for ... in range(...)
//?for?...?in?range(num)
for?i?in?range(3):
print(i)
'''
1
2
'''
//?for?...?in?range(num1,?num2)
for?i?in?range(1,?3):
print(i)
'''
1
2
'''
//?for?...?in?range(num1,?num2,?num3)
for?i?in?range(3,?1,?-1):
print(i)
'''
3
2
'''
for?i?in?range(1,?5,?2):
print(i)
'''????????
1
3
'''
倒敘
for?i?in?reversed([1,2,3,4]):
print(i)
’‘’
4
3
2
1
‘’‘
又想得到遍歷次數(shù),又想得到數(shù)組值
for i,e in enumerate(array):
for?i,e?in?enumerate(['21dw',?55,?22,?'rw']):
print(i,?e)
'''
0?21dw
1?55
2?22
3?rw
'''
列表生成式
[...for ... in array]]
print([x?*?x?for?x?in?[2,?34,?324,?43]])
'''
[4,?1156,?104976,?1849]
'''
//相當(dāng)于
list?=?[]
for?x?in?[2,?34,?324,?43]:
list.append(x?*?x)
print(list)
#腳本里面直接這樣寫(xiě)就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()
可以用假設(shè)法啊。這是計(jì)算機(jī)擅長(zhǎng)的方法,用一個(gè)循環(huán)先假設(shè)循環(huán)節(jié)為1,然后依次假設(shè)2,3,4,5,6,7,8,9
不用再多了。再多也看不過(guò)來(lái)。這樣就可以輕松算出來(lái)了。
1234567891011import sysx=0.12312312313tmps = "%s"%xp = tmps.find('.')if p0: sys.exit()tmps = tmps[p+1:]for i in xrange(1,9): if tmps[:i]== tmps[i:i*2] and tmps[i:i*2]== tmps[i*2:i*3] : print 'result is %d'%i sys.exit()print 'not found'
上面是一個(gè)簡(jiǎn)單的例子。
編寫(xiě)循環(huán)的技巧,for循環(huán)包含了常見(jiàn)的計(jì)數(shù)器式循環(huán)。由于通常for循環(huán)比while循環(huán)更容易寫(xiě),也執(zhí)行得更快,所以for循環(huán)一般是你遍歷序列或其他可迭代對(duì)象時(shí)的首選。事實(shí)上,作為一條通用法則,你應(yīng)該克制在Python中使用計(jì)數(shù)方式的誘惑——Python提供的迭代工具,能幫你把像C這樣低級(jí)語(yǔ)言中循環(huán)集合體的工作自動(dòng)化。不過(guò),有些情況下你還是需要以更為特定的方式進(jìn)行迭代。例如,如果你需要在列表中每隔一個(gè)元素或每隔兩個(gè)元素進(jìn)行訪問(wèn),或是要同時(shí)修改列表呢?如果在同一個(gè)for循環(huán)內(nèi),并行遍歷一個(gè)以上的序列呢?如果你也需要進(jìn)行索引呢?
你總是可以用while循環(huán)和手動(dòng)索引運(yùn)算來(lái)編寫(xiě)這些獨(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?jiàn)的使用場(chǎng)景下,依次看一看這些內(nèi)置函數(shù)吧。我們將會(huì)看到,它們的用法在Python 2.X和3.X中稍有不同,同時(shí)它們中的一些要比其他的更加有效。
網(wǎng)頁(yè)名稱(chēng):python怎么循環(huán)函數(shù),python循環(huán)語(yǔ)句怎么用
標(biāo)題網(wǎng)址:http://chinadenli.net/article2/dsijhoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、做網(wǎng)站、商城網(wǎng)站、App設(shè)計(jì)、Google、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)