python array的应用
生活随笔
收集整理的這篇文章主要介紹了
python array的应用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)組的應(yīng)用
應(yīng)用1:洗牌
? 描述:洗牌后每個(gè)元素隨機(jī)出現(xiàn)在每個(gè)位置,且概率相等
方法1:調(diào)用庫(kù)函數(shù)
import random def shuffle_system(cards):random.shuffle(cards)?
方法2:
def shuffle_correct(cards):for i in range(len(cards)):randomi = i+ random.randint(0,len(cards)-i-1)card[i],cards[randomi] = cards[randomi],card[i] #對(duì)方法二的解釋: #首先在0 - n-1下標(biāo)中產(chǎn)生一個(gè)隨機(jī)下標(biāo),交換第一個(gè)和和隨機(jī)下標(biāo),所以任何數(shù)字出現(xiàn)在第一個(gè)位置的概率是1/n #第二次時(shí)在1- n-2 中隨機(jī)產(chǎn)生下標(biāo),產(chǎn)生1- n-2 隨機(jī)數(shù)的概率時(shí)1/n-1,但是第二次抽中第一次沒(méi)有選中這個(gè)數(shù)的概率時(shí)n-1/n #所以第二次出現(xiàn)在第二個(gè)位置的概率還是1/n, #依次類推,所以每個(gè)數(shù)出現(xiàn)的概率都是1/n,就能完成對(duì)一個(gè)數(shù)組進(jìn)行洗牌的操作?
應(yīng)用二:計(jì)算質(zhì)數(shù)的個(gè)數(shù)
描述:給定一個(gè)正整數(shù)n,計(jì)算出小于等于n的質(zhì)數(shù)有多少個(gè)。比如17,則返回7,因?yàn)樾∮诘扔?的質(zhì)數(shù)有2,3,5,7,11,13,17
def count_prime(n):count=0;for i in range(2,n+1):for j in range(2 ,i):if i % j == 0:break;else:count = count + 1;return count?
應(yīng)用三:證明哥德巴赫的猜想:
描述:任一大于2的偶數(shù),都可表示成兩個(gè)質(zhì)數(shù)之和。
#primes函數(shù)和應(yīng)用二類似,只是把所有質(zhì)數(shù)添加到一個(gè)list中 def prime(n):count=0;primes=[];for i in range(2,n+1):for j in range(2 ,i):if i % j == 0:break;else:primes.append(i)return primes?
#采用了雙指針的方法來(lái)進(jìn)行移動(dòng) def goldbach(n):primes=prime(n)begin = 0end = len(primes)-1while begin < end:if primes[begin]+primes[end] > n:end = end - 1elif primes[begin]+primes[end] < n:begin = begin + 1else:print("{}={}+{}".format(n,primes[begin],primes[end]))break?
轉(zhuǎn)載于:https://www.cnblogs.com/zhanyifan/p/9744150.html
總結(jié)
以上是生活随笔為你收集整理的python array的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nowcoder 202F-平衡二叉树
- 下一篇: websocket python爬虫_p