julia的新手并试图找出这个概率/比例代码。
下面的代码需要10 ^ 6个密码,并计算具有1个或更少小写字母的比例。
passLength = 8
numToCheck = 1
possibleChars = ['a':'z';'A':'Z';'0':'9']
#Define a function that counts how characters are lower case
numLowerCaseChars(str) = sum([ islower(char) for char in str])
n = 10^6
passwords = [String(rand(possibleChars ,passLength )) for _ in 1:n]
proportion = sum([ numLowerCaseChars(p) <= numToCheck for p in passwords])/n
我需要更改此代码,以便为我提供只有数字密码的比例。
我已经知道确切的概率是4.580010609233563e-7,我已经手工制作但我无法弄清楚如何使用此代码获得相同的结果。
到目前为止,我已经尝试了
passLength = 8
numToCheck = 8
possibleChars = ['a':'z';'A':'Z';'0':'9']
#Define a function that counts how many characters are integers
numintegers(str) = sum([ isnumber(char) for char in str])
n = 10^6
passwords = [String(rand(possibleChars ,passLength )) for _ in 1:n]
proportion = sum([numintegers(p) == numToCheck for p in passwords])/n
但这会返回1.0e-6,这是不同的。这与样本量有关吗?我尝试生成更多10 ^ 6个密码但julia停止工作。
请提前帮助我。