标签:[] n+1 format 移动 库函数 span 函数 == 产生
import random def shuffle_system(cards): random.shuffle(cards)
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,就能完成对一个数组进行洗牌的操作
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
#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 = 0 end = len(primes)-1 while begin < end: if primes[begin]+primes[end] > n: end = end - 1 elif primes[begin]+primes[end] < n: begin = begin + 1 else: print("{}={}+{}".format(n,primes[begin],primes[end])) break
标签:[] n+1 format 移动 库函数 span 函数 == 产生
原文地址:https://www.cnblogs.com/zhanyifan/p/9744150.html