Но как правильно подобрать шаг гауссианы, что бы вычисленное значение не сильно “выскакивало” за пределы двух значений на основе которых я его рассчитываю? Я не придумал ничего лучше, чем брать их разность и делить на два.
import random
value_one = 180
value_two = 195
#Находим сумму
srednee = value_one + value_two
#Делим без остатка (получаем массив где нулевой элемент результат деления на два
#а первый - остаток деления)
delenie = divmod(srednee, 2)
#Шаг отклонения по гауссиане берем как разность между
#value_one и value_two, деленную на два
#Берем по модулю, что бы убрать минус если value_one меньше value_two
sigma = abs(value_one - value_two)/2
#Подставляем как центр распределения среднее арифметическое от value_one
# и value_two, а как шаг распределения их разность деленную на два
sel = random.gauss(delenie[0], sigma)
#Округляем
rounded_sel = round(sel)
#Текстовые переменные для отладки
text1 = 'paramtr odin plus parametr dva'
text2 = 'srednee arifmeticheskoe i ostatok delenia'
text3 = 'sigma ili shag otkloninia dlia gaussiany'
text4 = 'resultat vydannyi gaussianoi'
text5 = 'okoncahtelnyi okruglenniy rezultat'
#Выводим для проверки
print(text1, srednee)
print(text2, delenie)
print(text3, sigma)
print(text4, sel)
print(text5, rounded_sel)