![]() |
Есть 50 чисел (через рандом - от 0.59-0.61) на подобии:
Числа: Код:
0.59256458282471Как создать 5 пачек по 10 чисел, чтобы общее среднее было приближено к 0.59452... На подобии: Цитата:
|
мэйби так
Python: Код:
import |
Не совсем то, нужно чтобы из всех 50 перебирались варианты максимально схожие к 0.59452. В твоем варианте, у тебя все суммируется и делится на 10. Я пробовал сделать соотношение в процентах, но там все выводится максимально криво
|
можно так попробовать в принципе
Python: [CODE] import itertools import random def find_combination ( numbers , target_mean , batch_size , num_batches ) : closest_mean = float ( 'inf' ) best_combination = None combinations = itertools . combinations ( numbers , batch_size * num_batches ) for combination in combinations : batches = [ combination [ i : i + batch_size ] for i in range ( 0 , len ( combination ) , batch_size ) ] if len ( set ( number for batch in batches for number in batch ) ) != len ( numbers ) : continue batch_means = [ sum ( batch ) / len ( batch ) for batch in batches ] mean = sum ( batch_means ) / len ( batch_means ) if abs ( mean - target_mean ) |
Мда, 50 числе маловато для более схожего среднего числа. Подумаю еще короче
Допустим увеличим кол-во цифт, не 50, а 500, а в рандоме от 0.45 до 0.9. Думаю более менее будут схожие среднии значения |
Нужно число, приближенное к 0.59452 — сократи диапазон переменных low и high. (я сделал это за тебя)
Python: [CODE] import random low = 0.59451 high = 0.59453 packs_count = 5 #Кол-во наборов packs_len = 10 #Кол-во чисел в наборах arr_of_packs = [ { "Набор" : [ ] , "Среднее" : None } for i in range ( packs_count ) ] def get_medium ( numbers : list ) - > float : return sum ( numbers ) / len ( numbers ) def same_number_exists ( num : float ) - > bool : for pack in arr_of_packs : for number in pack [ "Набор" ] : if number == num : return True return False def main ( ) - > None : for pack in arr_of_packs : while len ( pack [ "Набор" ] ) JSON: Код:
[ |
собрался крафтить шмотки в кс с заранее известным флоатом? купи подписку готовую, зачем ебаться самому?
|
| Время: 06:49 |