python array的应用
生活随笔
收集整理的這篇文章主要介紹了
python array的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組的應用
應用1:洗牌
? 描述:洗牌后每個元素隨機出現在每個位置,且概率相等
方法1:調用庫函數
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] #對方法二的解釋: #首先在0 - n-1下標中產生一個隨機下標,交換第一個和和隨機下標,所以任何數字出現在第一個位置的概率是1/n #第二次時在1- n-2 中隨機產生下標,產生1- n-2 隨機數的概率時1/n-1,但是第二次抽中第一次沒有選中這個數的概率時n-1/n #所以第二次出現在第二個位置的概率還是1/n, #依次類推,所以每個數出現的概率都是1/n,就能完成對一個數組進行洗牌的操作?
應用二:計算質數的個數
描述:給定一個正整數n,計算出小于等于n的質數有多少個。比如17,則返回7,因為小于等于7的質數有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?
應用三:證明哥德巴赫的猜想:
描述:任一大于2的偶數,都可表示成兩個質數之和。
#primes函數和應用二類似,只是把所有質數添加到一個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?
#采用了雙指針的方法來進行移動 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?
轉載于:https://www.cnblogs.com/zhanyifan/p/9744150.html
總結
以上是生活随笔為你收集整理的python array的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nowcoder 202F-平衡二叉树
- 下一篇: 结对编程小项目实现 Python+PyQ