Отсутствие файла сгенерированного файла META-INF

Грубый, но может быть достаточным:

import random
weighted_choice = lambda s : random.choice(sum(([v]*wt for v,wt in s),[]))

Работает ли это?

# define choices and relative weights
choices = [("WHITE",90), ("RED",8), ("GREEN",2)]

# initialize tally dict
tally = dict.fromkeys(choices, 0)

# tally up 1000 weighted choices
for i in xrange(1000):
    tally[weighted_choice(choices)] += 1

print tally.items()

Отпечатки:

[('WHITE', 904), ('GREEN', 22), ('RED', 74)]

Предполагается, что все веса являются целыми числами. Им не нужно добавлять до 100, я просто сделал это, чтобы облегчить интерпретацию результатов теста. (Если веса являются числами с плавающей запятой, умножьте их на 10 раз, пока все веса> = 1.)

weights = [.6, .2, .001, .199]
while any(w < 1.0 for w in weights):
    weights = [w*10 for w in weights]
weights = map(int, weights)
0
задан Tom Rees 13 July 2018 в 11:17
поделиться

1 ответ

ОК, так что я, наконец, решил это сделать. Публикация здесь для будущих людей (включая меня;)):

Проблема заключалась в том, что Gradle был более строгим, чем Javac, при работе с обработчиками аннотаций, которые были необходимы для создания моего отсутствующего файла. В этом случае мне просто пришлось добавить обработчик аннотации Log4j в список зависимостей -> annotationProcessor.

0
ответ дан Tom Rees 17 August 2018 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: