Соскребая веб-страницу JavaScript с Python

b = random.randint(2, 38)
a = random.randint(1, b - 1)
c = random.randint(b + 1, 39)
return [a, b - a, c - b, 40 - c]

(Я предполагаю, что вам нужны целые числа, так как вы сказали «1-40», но это можно легко обобщить для поплавков.)

Вот как это работает:

  • сокращает общий диапазон в два раза, то есть b. Нечетный диапазон - это то, что они будут по крайней мере на 2 ниже середины и не менее 2 выше. (Это происходит от вашего 1 минимального значения для каждого значения).
  • разрезает каждый из этих диапазонов двумя случайными способами. Опять же, оценка должна учитывать 1 минимум.
  • возвращает размер каждого фрагмента. Они добавят до 40.
145
задан Zoe 11 May 2019 в 15:12
поделиться