Нужна помощь в запуске сценария Python для получения данных о ставках из MySQL и вычисления выплат - соединение/конфигурMySql

Форум по Mysql
Ответить
Anonymous
 Нужна помощь в запуске сценария Python для получения данных о ставках из MySQL и вычисления выплат - соединение/конфигур

Сообщение Anonymous »

Я работаю над реверс -инженерной системой ставок. Я написал сценарий Python, который подключается к базе данных MySQL, получает данные о ставках для конкретного игрового периода, агрегирует ставки и имитирует выплаты и операционные потери на основе сумм ставок. mysql.connector < /p>
из коллекций импорт defaultdict < /p>
mysql config (from config.php) < /h1>
db_config = {< /p>

db_config = {< /p>

Код: Выделить всё

'host': 'YOUR_DB_HOST',          # Replace with your MySQL server IP or hostname

'user': 'YOUR_DB_USER',          # Your database username

'password': 'YOUR_DB_PASSWORD',  # Your database password

'database': 'YOUR_DB_NAME'       # Your database name
< /code>
} < /p>
def fetch_betting_data (periodId): < /p>
conn = mysql.connector.connect(**db_config)

cursor = conn.cursor(dictionary=True)

cursor.execute("SELECT value, amount FROM tbl_betting WHERE periodid = %s AND acceptrule='on'", (periodid,))

data = cursor.fetchall()

cursor.close()

conn.close()

return data
< /code>
def aggegrate_bets (bet_data): < /p>
totals = defaultdict(float)

for entry in bet_data:

totals[entry['value']] += float(entry['amount'])

return totals
< /code>
def Simulation_payout (aggregated_bets, payout_rules, tax_percent = 2): < /p>
payout = {}

loss = {}

total_bets = sum(aggregated_bets.values())

for val, amount in aggregated_bets.items():

multiplier = payout_rules.get(val, 1)

taxed_amount = amount * (1 - tax_percent / 100)

payout_amount = round(taxed_amount * multiplier, 2)

payout[val] = payout_amount

loss[val] = round(total_bets - payout_amount, 2)

return payout, loss
if name == " main ":
current_periodid = 1234 # Replace with your relevant period ID

bet_data = fetch_betting_data(current_periodid)

print(f"Fetched {len(bet_data)} bets for period {current_periodid}")

aggregated = aggregate_bets(bet_data)

print("Aggregated betting amounts per value:")

for k, v in aggregated.items():

print(f"Value: {k}, Total Bet: {v}")

# Example payout rules

payout_rules_example = {

'green': 2.0,

'red': 2.0,

'violet': 4.5,

'0': 9.0, '1': 9.0, '2': 9.0, '3': 9.0, '4': 9.0,

'5': 9.0, '6': 9.0, '7': 9.0, '8': 9.0, '9': 9.0,

}

payout, loss = simulate_payout(aggregated, payout_rules_example, tax_percent=2)

print("\nPayout amounts if value wins:")

for val, amt in payout.items():

print(f"{val}: {amt}")

print("\nOperator loss if value wins:")

for val, l in loss.items():

print(f"{val}: {l}")

min_loss_value = min(loss, key=loss.get)

print(f"\nRecommended winning value (minimum operator loss): {min_loss_value} with loss {loss[min_loss_value]}")
< /code>
Ниже приведен мой содержимое файла config.php, которое содержит подробности подключения к базе данных: < /p>

Я пытаюсь запустить скрипт Python, но я не уверен, какой вывод ожидает, что сценарий отражает что -то, что можно помочь мне: < /pith -pieth < /pton

Скрипт правильно разработан для извлечения и обработки данных в соответствии с данной конфигурацией? Отражает правильные расчеты выплат или есть ошибка.
Может ли кто -нибудь помочь мне:
Понять, правильно ли сценарий Python разработан для получения и обработки данных в соответствии с данной конфигурацией? /> Большое спасибо за вашу помощь! < /p>

Подробнее здесь: https://stackoverflow.com/questions/797 ... alculate-p
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»