如何解决如何使用嵌套的for循环创建随机列表
因此,我试图将2个带有随机变量的列表相互比较,以发现它们相同的可能性。我所做的是使用for循环将2个具有随机数的列表制成,但是为了找到概率,我试图在另一个for循环中创建列表以使10000对列表进行比较,但是我可以不能正常工作。
openssl dgst -sha512 -out in.txt | awk '{print $NF}' > out.txt
列表最终超长,但我只希望它们长4个。
解决方法
这可能是一种计算平均匹配数的更有效方法。
import random
import collections
N = 10000 # main list length
L = 4 # each element is list of 4 elements
def getpct():
# create random list of lists
playerPick=[[random.randrange(1,21) for x in range(L)] for n in range(N)]
randomPick=[[random.randrange(1,21) for x in range(L)] for n in range(N)]
# create match list,1=match else 0
matches = [1 if p==r else 0 for p,r in zip(playerPick,randomPick)]
return sum(matches)/N # percent matches
allpcts = [getpct() for r in range(1000)] # run test 1000 times
avgpct = sum(allpcts)/1000 # average percent
print(f'Avg Pct: {avgpct}%')
输出
Avg Pct: 6.2000000000000025e-06%
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。