Класс, который я пытаюсь создать, использует три функции:
- Функция 1 просит пользователя ввести предполагаемый процент выигрыша по ставке (сохраняется в переменной «winP»).
- Функция 2 просит пользователя ввести американские коэффициенты для этой конкретной ставки. Затем я конвертирую американские коэффициенты в десятичные коэффициенты для использования с формулой критерия Келли (сохраняется в переменной «коэффициенты»).
- Функция 3 принимает «winP» и «коэффициенты» и реализует эти данные в формулу критерия Келли.
Критерий Келли (kCrit) = ((коэффициенты - 1) * (1 - выигрышP)) / (коэффициенты - 1)
'коэффициенты' — это десятичная форма американских коэффициентов после конвертации. 'winP' в ожидаемой вероятности выигрыша для этой конкретной ставки.
Мне удалось заставить 1-ю и 2-ю функции работать идеально (win_percentage, Convert_to_decimal), однако мне не удалось заставить работать 3-ю функцию (implement_kc)
Вот мой код ниже:
Код: Выделить всё
class KellyCriterion:
def win_percentage(percent):
winP = int(input('What is your win percentage?: '))
return winP
def convert_to_decimal(odds):
odds = int(input('What are the American odds?: '))
if odds > 0:
odds = (odds/100) + 1
return odds
elif odds < 0:
odds = -(100/odds) + 1
return odds
def implement_kc(winP, odds):
kCrit = ((odds - 1) * (1-winP)) / (odds-1)
return kCrit
winPercent = KellyCriterion()
winPercent.win_percentage()
betSize = KellyCriterion()
betSize.convert_to_decimals()
Код: Выделить всё
kelly = KellyCriterion()
kelly.implement_kc()
Я новичок в использовании функций класса, и мне могла бы пригодиться помощь. Я также пробовал использовать функцию init(self), но не совсем понимаю, как она работает.
Будем очень признательны за любые предложения. Заранее благодарим за любую помощь, которую вы можете предложить.
Просто хочу уточнить: первая функция (win_percentage) и вторая функция (convert_to_decimal) работают нормально. У меня проблемы с третьей функцией (implement_kc).
Я хотел бы найти способ вызвать класс KellyCriterion, чтобы: 1) спросить пользователя, каков его процент выигрыша; 2) спросить у пользователя, каковы американские коэффициенты; 3) внедрить оба ответа в формулу критерия Келли, чтобы определить подходящий размер ставки.
Еще раз спасибо!