from random import randint
def shift_rand(a, b, x, f):
t = randint(a, (b - x) * f + x)
return t if t <= x else (t - x) // f + x
нужный_процент = 0.33 // например
for (i = 0; i < n ; i++) {
x = random_от_нуля_до_единицы();
if (x > нужный_процент) x = 0;
else x /= нужный_процент; // ненулевые равномерно распределены на [0..1]
}