fork download
  1. import random
  2.  
  3. def checkdisplacement(nums):
  4. nums2=nums[:]
  5. nums.sort()
  6. le=len(nums)
  7. sumpos=0
  8. for i in range(le):
  9. j=nums.index(nums2[i])
  10. sumpos+=abs(j-i)
  11. rd=sumpos/le
  12. rdr=rd/le
  13. rc=le/3.-1./(3.*le)
  14. rcr=rc/le
  15. return rdr,rcr
  16.  
  17. nums=[random.uniform(0.,1.) for i in range(10000)]
  18. print('Uniform: ','\t', checkdisplacement(nums))
  19.  
  20. nums=[random.triangular(-2.,2.) for i in range(10000)]
  21. print('Triangular: ','\t', checkdisplacement(nums))
  22.  
  23. nums=[random.gauss(3.,1.) for i in range(10000)]
  24. print('Gauss: ','\t', checkdisplacement(nums))
  25.  
  26. nums=[random.lognormvariate(10.,1.) for i in range(10000)]
  27. print('Lognormal: ','\t', checkdisplacement(nums))
  28.  
Success #stdin #stdout 2.42s 12336KB
stdin
Standard input is empty
stdout
Uniform:    	 (0.33215898, 0.33333333000000004)
Triangular:  	 (0.33217292000000004, 0.33333333000000004)
Gauss:      	 (0.33466876, 0.33333333000000004)
Lognormal:  	 (0.33114664, 0.33333333000000004)