SSamson commited on
Commit
759f2cc
·
verified ·
1 Parent(s): 7e2fd69

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +561 -10
app.py CHANGED
@@ -1,14 +1,565 @@
1
- from parsebets import *
2
- from iteratenba import *
3
- from iteratenfl import *
4
- from createnbascore import *
5
- from createnflscore import *
6
 
7
- bet_dicts = Create_Current_Bet_Dicts('Rebounds')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
- nba = Create_NBA_Score(bet_dicts)
10
- print(nba)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
- #test = Create_NBA_Score(bet_dicts)
13
- #print(test)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas
2
+ import csv
3
+ import os
 
 
4
 
5
+ def prizepicks_6_legs_flex(wager, odds):
6
+ #calculate EV
7
+ value_win_6 = wager * 24
8
+ odds_win_6 = 1
9
+ for i in range(len(odds)):
10
+ odds_win_6 *= odds[i]
11
+ value_win_6 *= odds_win_6
12
+
13
+ value_win_5 = wager
14
+ odds_win_5 = 0
15
+ for i in range(len(odds)):
16
+ temp = 1 - odds[i]
17
+ for n in range(len(odds)):
18
+ if n == i:
19
+ continue
20
+ temp *= odds[n]
21
+ odds_win_5 += temp
22
+ value_win_5 *= odds_win_5
23
+
24
+ value_win_4 = 0.6 * wager * -1
25
+ odds_win_4 = 0
26
+ for i in range(len(odds)):
27
+ temp_1 = 1 - odds[i]
28
+ for n in range(len(odds)):
29
+ if n <= i:
30
+ continue
31
+ temp_2 = (1 - odds[n]) * temp_1
32
+ for j in range(len(odds)):
33
+ if j == i or j == n:
34
+ continue
35
+ temp_2 *= odds[j]
36
+ odds_win_4 += temp_2
37
+ value_win_4 *= odds_win_4
38
+
39
+ value_win_3 = wager * -1
40
+ odds_win_3 = 0
41
+ for i in range(len(odds)):
42
+ temp_1 = 1 - odds[i]
43
+ for n in range(len(odds)):
44
+ if n <= i:
45
+ continue
46
+ temp_2 = (1 - odds[n]) * temp_1
47
+ for j in range(len(odds)):
48
+ if j <= n:
49
+ continue
50
+ temp_3 = (1 - odds[j]) * temp_2
51
+ for k in range(len(odds)):
52
+ if k == i or k == n or k == j:
53
+ continue
54
+ temp_3 *= odds[k]
55
+ odds_win_3 += temp_3
56
+ value_win_3 *= odds_win_3
57
+
58
+ odds_inverse = []
59
+ for i in range(len(odds)):
60
+ odds_inverse.append(1 - odds[i])
61
+
62
+ value_win_2 = wager * -1
63
+ odds_win_2 = 0
64
+ for i in range(len(odds_inverse)):
65
+ temp_1 = 1 - odds_inverse[i]
66
+ for n in range(len(odds_inverse)):
67
+ if n <= i:
68
+ continue
69
+ temp_2 = (1 - odds_inverse[n]) * temp_1
70
+ for j in range(len(odds_inverse)):
71
+ if j == i or j == n:
72
+ continue
73
+ temp_2 *= odds_inverse[j]
74
+ odds_win_2 += temp_2
75
+ value_win_2 *= odds_win_2
76
+
77
+ value_win_1 = wager * -1
78
+ odds_win_1 = 0
79
+ for i in range(len(odds_inverse)):
80
+ temp = 1 - odds_inverse[i]
81
+ for n in range(len(odds_inverse)):
82
+ if n == i:
83
+ continue
84
+ temp *= odds_inverse[n]
85
+ odds_win_1 += temp
86
+ value_win_1 *= odds_win_1
87
+
88
+ value_win_0 = wager * -1
89
+ odds_win_0 = 1
90
+ for i in range(len(odds_inverse)):
91
+ odds_win_0 *= odds_inverse[i]
92
+ value_win_0 *= odds_win_0
93
+
94
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3 + value_win_4 + value_win_5 + value_win_6
95
+ print("$" + str(wager) + " 6-legs flex play with implied odds: " + str(odds))
96
+ print("Chance to win 6/6 (PnL $" + str(wager * 24) + "): " + str(odds_win_6))
97
+ print("Chance to win 5/6 (PnL $" + str(wager) + "): " + str(odds_win_5))
98
+ print("Chance to win 4/6 (PnL $" + str(wager * -0.6) + "): " + str(odds_win_4))
99
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_3 + odds_win_2 + odds_win_1 + odds_win_0))
100
+ print("Expected PnL: $" + str(ev))
101
+ print()
102
+ return ev, "6-legs flex"
103
 
104
+ def prizepicks_5_legs_flex(wager, odds):
105
+ #calculate EV
106
+ value_win_5 = wager * 9
107
+ odds_win_5 = 1
108
+ for i in range(len(odds)):
109
+ odds_win_5 *= odds[i]
110
+ value_win_5 *= odds_win_5
111
+
112
+ value_win_4 = wager
113
+ odds_win_4 = 0
114
+ for i in range(len(odds)):
115
+ temp = 1 - odds[i]
116
+ for n in range(len(odds)):
117
+ if n == i:
118
+ continue
119
+ temp *= odds[n]
120
+ odds_win_4 += temp
121
+ value_win_4 *= odds_win_4
122
+
123
+ value_win_3 = 0.6 * wager * -1
124
+ odds_win_3 = 0
125
+ for i in range(len(odds)):
126
+ temp_1 = 1 - odds[i]
127
+ for n in range(len(odds)):
128
+ if n <= i:
129
+ continue
130
+ temp_2 = (1 - odds[n]) * temp_1
131
+ for j in range(len(odds)):
132
+ if j == i or j == n:
133
+ continue
134
+ temp_2 *= odds[j]
135
+ odds_win_3 += temp_2
136
+ value_win_3 *= odds_win_3
137
+
138
+ odds_inverse = []
139
+ for i in range(len(odds)):
140
+ odds_inverse.append(1 - odds[i])
141
+
142
+ value_win_2 = wager * -1
143
+ odds_win_2 = 0
144
+ for i in range(len(odds_inverse)):
145
+ temp_1 = 1 - odds_inverse[i]
146
+ for n in range(len(odds_inverse)):
147
+ if n <= i:
148
+ continue
149
+ temp_2 = (1 - odds_inverse[n]) * temp_1
150
+ for j in range(len(odds_inverse)):
151
+ if j == i or j == n:
152
+ continue
153
+ temp_2 *= odds_inverse[j]
154
+ odds_win_2 += temp_2
155
+ value_win_2 *= odds_win_2
156
+
157
+ value_win_1 = wager * -1
158
+ odds_win_1 = 0
159
+ for i in range(len(odds_inverse)):
160
+ temp = 1 - odds_inverse[i]
161
+ for n in range(len(odds_inverse)):
162
+ if n == i:
163
+ continue
164
+ temp *= odds_inverse[n]
165
+ odds_win_1 += temp
166
+ value_win_1 *= odds_win_1
167
+
168
+ value_win_0 = wager * -1
169
+ odds_win_0 = 1
170
+ for i in range(len(odds_inverse)):
171
+ odds_win_0 *= odds_inverse[i]
172
+ value_win_0 *= odds_win_0
173
+
174
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3 + value_win_4 + value_win_5
175
+ print("$" + str(wager) + " 5-legs flex play with implied odds: " + str(odds))
176
+ print("Chance to win 5/5 (PnL $" + str(wager * 9) + "): " + str(odds_win_5))
177
+ print("Chance to win 4/5 (PnL $" + str(wager) + "): " + str(odds_win_4))
178
+ print("Chance to win 3/5 (PnL $" + str(wager * -0.6) + "): " + str(odds_win_3))
179
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_2 + odds_win_1 + odds_win_0))
180
+ print("Expected PnL: $" + str(ev))
181
+ print()
182
+ return ev, "5-legs flex"
183
 
184
+ def prizepicks_4_legs_flex(wager, odds):
185
+ #calculate EV
186
+ value_win_4 = wager * 4
187
+ odds_win_4 = 1
188
+ for i in range(len(odds)):
189
+ odds_win_4 *= odds[i]
190
+ value_win_4 *= odds_win_4
191
+
192
+ value_win_3 = wager * 0.5
193
+ odds_win_3 = 0
194
+ for i in range(len(odds)):
195
+ temp = 1 - odds[i]
196
+ for n in range(len(odds)):
197
+ if n == i:
198
+ continue
199
+ temp *= odds[n]
200
+ odds_win_3 += temp
201
+ value_win_3 *= odds_win_3
202
+
203
+ value_win_2 = wager * -1
204
+ odds_win_2 = 0
205
+ for i in range(len(odds)):
206
+ temp_1 = 1 - odds[i]
207
+ for n in range(len(odds)):
208
+ if n <= i:
209
+ continue
210
+ temp_2 = (1 - odds[n]) * temp_1
211
+ for j in range(len(odds)):
212
+ if j == i or j == n:
213
+ continue
214
+ temp_2 *= odds[j]
215
+ odds_win_2 += temp_2
216
+ value_win_2 *= odds_win_2
217
+
218
+ odds_inverse = []
219
+ for i in range(len(odds)):
220
+ odds_inverse.append(1 - odds[i])
221
+
222
+ value_win_1 = wager * -1
223
+ odds_win_1 = 0
224
+ for i in range(len(odds_inverse)):
225
+ temp = 1 - odds_inverse[i]
226
+ for n in range(len(odds_inverse)):
227
+ if n == i:
228
+ continue
229
+ temp *= odds_inverse[n]
230
+ odds_win_1 += temp
231
+ value_win_1 *= odds_win_1
232
+
233
+ value_win_0 = wager * -1
234
+ odds_win_0 = 1
235
+ for i in range(len(odds_inverse)):
236
+ odds_win_0 *= odds_inverse[i]
237
+ value_win_0 *= odds_win_0
238
+
239
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3 + value_win_4
240
+ print("$" + str(wager) + " 4-legs flex play with implied odds: " + str(odds))
241
+ print("Chance to win 4/4 (PnL $" + str(wager * 4) + "): " + str(odds_win_4))
242
+ print("Chance to win 3/4 (PnL $" + str(wager * 0.5) + "): " + str(odds_win_3))
243
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_2 + odds_win_1 + odds_win_0))
244
+ print("Expected PnL: $" + str(ev))
245
+ print()
246
+ return ev, "4-legs flex"
247
 
248
+ def prizepicks_4_legs_power(wager, odds):
249
+ #calculate EV
250
+ value_win_4 = wager * 9
251
+ odds_win_4 = 1
252
+ for i in range(len(odds)):
253
+ odds_win_4 *= odds[i]
254
+ value_win_4 *= odds_win_4
255
+
256
+ value_win_3 = wager * -1
257
+ odds_win_3 = 0
258
+ for i in range(len(odds)):
259
+ temp = 1 - odds[i]
260
+ for n in range(len(odds)):
261
+ if n == i:
262
+ continue
263
+ temp *= odds[n]
264
+ odds_win_3 += temp
265
+ value_win_3 *= odds_win_3
266
+
267
+ value_win_2 = wager * -1
268
+ odds_win_2 = 0
269
+ for i in range(len(odds)):
270
+ temp_1 = 1 - odds[i]
271
+ for n in range(len(odds)):
272
+ if n <= i:
273
+ continue
274
+ temp_2 = (1 - odds[n]) * temp_1
275
+ for j in range(len(odds)):
276
+ if j == i or j == n:
277
+ continue
278
+ temp_2 *= odds[j]
279
+ odds_win_2 += temp_2
280
+ value_win_2 *= odds_win_2
281
+
282
+ odds_inverse = []
283
+ for i in range(len(odds)):
284
+ odds_inverse.append(1 - odds[i])
285
+
286
+ value_win_1 = wager * -1
287
+ odds_win_1 = 0
288
+ for i in range(len(odds_inverse)):
289
+ temp = 1 - odds_inverse[i]
290
+ for n in range(len(odds_inverse)):
291
+ if n == i:
292
+ continue
293
+ temp *= odds_inverse[n]
294
+ odds_win_1 += temp
295
+ value_win_1 *= odds_win_1
296
+
297
+ value_win_0 = wager * -1
298
+ odds_win_0 = 1
299
+ for i in range(len(odds_inverse)):
300
+ odds_win_0 *= odds_inverse[i]
301
+ value_win_0 *= odds_win_0
302
+
303
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3 + value_win_4
304
+ print("$" + str(wager) + " 4-legs power play with implied odds: " + str(odds))
305
+ print("Chance to win 4/4 (PnL $" + str(wager * 9) + "): " + str(odds_win_4))
306
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_3 + odds_win_2 + odds_win_1 + odds_win_0))
307
+ print("Expected PnL: $" + str(ev))
308
+ print()
309
+ return ev, "4-legs power"
310
+
311
+ def prizepicks_3_legs_flex(wager, odds):
312
+ #calculate EV
313
+ value_win_3 = wager * 1.25
314
+ odds_win_3 = 1
315
+ for i in range(len(odds)):
316
+ odds_win_3 *= odds[i]
317
+ value_win_3 *= odds_win_3
318
+
319
+ value_win_2 = wager * 0.25
320
+ odds_win_2 = 0
321
+ for i in range(len(odds)):
322
+ temp = 1 - odds[i]
323
+ for n in range(len(odds)):
324
+ if n == i:
325
+ continue
326
+ temp *= odds[n]
327
+ odds_win_2 += temp
328
+ value_win_2 *= odds_win_2
329
+
330
+ odds_inverse = []
331
+ for i in range(len(odds)):
332
+ odds_inverse.append(1 - odds[i])
333
+
334
+ value_win_1 = wager * -1
335
+ odds_win_1 = 0
336
+ for i in range(len(odds_inverse)):
337
+ temp = 1 - odds_inverse[i]
338
+ for n in range(len(odds_inverse)):
339
+ if n == i:
340
+ continue
341
+ temp *= odds_inverse[n]
342
+ odds_win_1 += temp
343
+ value_win_1 *= odds_win_1
344
+
345
+ value_win_0 = wager * -1
346
+ odds_win_0 = 1
347
+ for i in range(len(odds_inverse)):
348
+ odds_win_0 *= odds_inverse[i]
349
+ value_win_0 *= odds_win_0
350
+
351
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3
352
+ print("$" + str(wager) + " 3-legs flex play with implied odds: " + str(odds))
353
+ print("Chance to win 3/3 (PnL $" + str(wager * 1.25) + "): " + str(odds_win_3))
354
+ print("Chance to win 2/3 (PnL $" + str(wager * 0.25) + "): " + str(odds_win_2))
355
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_1 + odds_win_0))
356
+ print("Expected PnL: $" + str(ev))
357
+ print()
358
+ return ev, "3-legs flex"
359
+
360
+ def prizepicks_3_legs_power(wager, odds):
361
+ #calculate EV
362
+ value_win_3 = wager * 4
363
+ odds_win_3 = 1
364
+ for i in range(len(odds)):
365
+ odds_win_3 *= odds[i]
366
+ value_win_3 *= odds_win_3
367
+
368
+ value_win_2 = wager * -1
369
+ odds_win_2 = 0
370
+ for i in range(len(odds)):
371
+ temp = 1 - odds[i]
372
+ for n in range(len(odds)):
373
+ if n == i:
374
+ continue
375
+ temp *= odds[n]
376
+ odds_win_2 += temp
377
+ value_win_2 *= odds_win_2
378
+
379
+ odds_inverse = []
380
+ for i in range(len(odds)):
381
+ odds_inverse.append(1 - odds[i])
382
+
383
+ value_win_1 = wager * -1
384
+ odds_win_1 = 0
385
+ for i in range(len(odds_inverse)):
386
+ temp = 1 - odds_inverse[i]
387
+ for n in range(len(odds_inverse)):
388
+ if n == i:
389
+ continue
390
+ temp *= odds_inverse[n]
391
+ odds_win_1 += temp
392
+ value_win_1 *= odds_win_1
393
+
394
+ value_win_0 = wager * -1
395
+ odds_win_0 = 1
396
+ for i in range(len(odds_inverse)):
397
+ odds_win_0 *= odds_inverse[i]
398
+ value_win_0 *= odds_win_0
399
+
400
+ ev = value_win_0 + value_win_1 + value_win_2 + value_win_3
401
+ print("$" + str(wager) + " 3-legs power play with implied odds: " + str(odds))
402
+ print("Chance to win 3/3 (PnL $" + str(wager * 4) + "): " + str(odds_win_3))
403
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_2 + odds_win_1 + odds_win_0))
404
+ print("Expected PnL: $" + str(ev))
405
+ print()
406
+ return ev, "3-legs power"
407
+
408
+ def prizepicks_2_legs_power(wager, odds):
409
+ #calculate EV
410
+ value_win_2 = wager * 2
411
+ odds_win_2 = 1
412
+ for i in range(len(odds)):
413
+ odds_win_2 *= odds[i]
414
+ value_win_2 *= odds_win_2
415
+
416
+ value_win_1 = wager * -1
417
+ odds_win_1 = 0
418
+ for i in range(len(odds)):
419
+ temp = 1 - odds[i]
420
+ for n in range(len(odds)):
421
+ if n == i:
422
+ continue
423
+ temp *= odds[n]
424
+ odds_win_1 += temp
425
+ value_win_1 *= odds_win_1
426
+
427
+ odds_inverse = []
428
+ for i in range(len(odds)):
429
+ odds_inverse.append(1 - odds[i])
430
+
431
+ value_win_0 = wager * -1
432
+ odds_win_0 = 1
433
+ for i in range(len(odds_inverse)):
434
+ odds_win_0 *= odds_inverse[i]
435
+ value_win_0 *= odds_win_0
436
+
437
+ ev = value_win_0 + value_win_1 + value_win_2
438
+ print("$" + str(wager) + " 2-legs power play with implied odds: " + str(odds))
439
+ print("Chance to win 2/2 (PnL $" + str(wager * 2) + "): " + str(odds_win_2))
440
+ print("Chance to lose (PnL $" + str(wager * -1) + "): " + str(odds_win_1 + odds_win_0))
441
+ print("Expected PnL: $" + str(ev))
442
+ print()
443
+ return ev, "2-legs power"
444
+
445
+ def sort_plays(plays):
446
+ plays.sort(key = lambda x: x[0], reverse=True)
447
+ return plays
448
+
449
+ def main():
450
+ input_fname = "All-Sports_PrizePicks Optimizer.csv"
451
+ output_fname = "dgf.csv"
452
+
453
+ with open(input_fname, newline='') as inFile, open(output_fname, 'w', newline='') as outFile:
454
+ r = csv.reader(inFile)
455
+ w = csv.writer(outFile)
456
+
457
+ next(r, None)
458
+ w.writerow(['First Name', 'Last Name', 'Sport', 'Team', 'Over/Under', 'Prop', 'PrizePicks Line',
459
+ 'Sportsbook Line', 'DGF', 'Pinnacle', 'Fanduel', 'DraftKings', 'Barstool', 'MGM', 'Caesars',
460
+ 'BetOnline', 'Bovada', 'Bet365', 'FoxBet', 'Odds to hit'])
461
+
462
+ for row in r:
463
+ w.writerow(row)
464
+
465
+ data = pandas.read_csv('dgf.csv')
466
+ top_lines = data.iloc [[0,1,2,3,4,5]]
467
+ print(top_lines)
468
+ odds = top_lines['Odds to hit'].tolist()
469
+
470
+ plays_6 = top_lines.iloc [[0,1,2,3,4,5], [0,1,4,5,6]]
471
+ plays_5 = top_lines.iloc [[0,1,2,3,4], [0,1,4,5,6]]
472
+ plays_4 = top_lines.iloc [[0,1,2,3], [0,1,4,5,6]]
473
+ plays_3 = top_lines.iloc [[0,1,2], [0,1,4,5,6]]
474
+ plays_2 = top_lines.iloc [[0,1], [0,1,4,5,6]]
475
+
476
+ for i in range(len(odds)):
477
+ odds[i] = odds[i]/100
478
+
479
+ wager = 100
480
+ plays = []
481
+ pp_6_legs_flex = prizepicks_6_legs_flex(wager, odds)
482
+ pp_6_legs_flex_ev = pp_6_legs_flex[0]
483
+ plays.append(pp_6_legs_flex)
484
+
485
+ pp_5_legs_flex = prizepicks_5_legs_flex(wager, odds[:5])
486
+ pp_5_legs_flex_ev = pp_5_legs_flex[0]
487
+ plays.append(pp_5_legs_flex)
488
+
489
+ pp_4_legs_flex = prizepicks_4_legs_flex(wager, odds[:4])
490
+ pp_4_legs_flex_ev = pp_4_legs_flex[0]
491
+ plays.append(pp_4_legs_flex)
492
+
493
+ pp_4_legs_power = prizepicks_4_legs_power(wager, odds[:4])
494
+ pp_4_legs_power_ev = pp_4_legs_power[0]
495
+ plays.append(pp_4_legs_power)
496
+
497
+ pp_3_legs_flex = prizepicks_3_legs_flex(wager, odds[:3])
498
+ pp_3_legs_flex_ev = pp_3_legs_flex[0]
499
+ plays.append(pp_3_legs_flex)
500
+
501
+ pp_3_legs_power = prizepicks_3_legs_power(wager, odds[:3])
502
+ pp_3_legs_power_ev = pp_3_legs_power[0]
503
+ plays.append(pp_3_legs_power)
504
+
505
+ pp_2_legs_power = prizepicks_2_legs_power(wager, odds[:2])
506
+ pp_2_legs_power_ev = pp_2_legs_power[0]
507
+ plays.append(pp_2_legs_power)
508
+
509
+ outputs = []
510
+
511
+ output_6_flex = ""
512
+ output_6_flex += "$" + str(wager) + " 6-legs flex play expected PnL: $" + str(float("{:.2f}".format(pp_6_legs_flex_ev))) + "\n"
513
+ output_6_flex += str(plays_6)
514
+ output_6_flex += "\n"
515
+ tup_6_flex = (pp_6_legs_flex_ev, output_6_flex)
516
+ outputs.append(tup_6_flex)
517
+
518
+ output_5_flex = ""
519
+ output_5_flex += "$" + str(wager) + " 5-legs flex play expected PnL: $" + str(float("{:.2f}".format(pp_5_legs_flex_ev))) + "\n"
520
+ output_5_flex += str(plays_5)
521
+ output_5_flex += "\n"
522
+ tup_5_flex = (pp_5_legs_flex_ev, output_5_flex)
523
+ outputs.append(tup_5_flex)
524
+
525
+ output_4_flex = ""
526
+ output_4_flex += "$" + str(wager) + " 4-legs flex play expected PnL: $" + str(float("{:.2f}".format(pp_4_legs_flex_ev))) + "\n"
527
+ output_4_flex += str(plays_4)
528
+ output_4_flex += "\n"
529
+ tup_4_flex = (pp_4_legs_flex_ev, output_4_flex)
530
+ outputs.append(tup_4_flex)
531
+
532
+ output_4_power = ""
533
+ output_4_power += "$" + str(wager) + " 4-legs power play expected PnL: $" + str(float("{:.2f}".format(pp_4_legs_power_ev))) + "\n"
534
+ output_4_power += str(plays_4)
535
+ output_4_power += "\n"
536
+ tup_4_power = (pp_4_legs_power_ev, output_4_power)
537
+ outputs.append(tup_4_power)
538
+
539
+ output_3_flex = ""
540
+ output_3_flex += "$" + str(wager) + " 3-legs flex play expected PnL: $" + str(float("{:.2f}".format(pp_3_legs_flex_ev))) + "\n"
541
+ output_3_flex += str(plays_3)
542
+ output_3_flex += "\n"
543
+ tup_3_flex = (pp_3_legs_flex_ev, output_3_flex)
544
+ outputs.append(tup_3_flex)
545
+
546
+ output_3_power = ""
547
+ output_3_power += "$" + str(wager) + " 3-legs power play expected PnL: $" + str(float("{:.2f}".format(pp_3_legs_power_ev))) + "\n"
548
+ output_3_power += str(plays_3)
549
+ output_3_power += "\n"
550
+ tup_3_power = (pp_3_legs_power_ev, output_3_power)
551
+ outputs.append(tup_3_power)
552
+
553
+ output_2_power = ""
554
+ output_2_power += "$" + str(wager) + " 2-legs power play expected PnL: $" + str(float("{:.2f}".format(pp_2_legs_power_ev))) + "\n"
555
+ output_2_power += str(plays_2)
556
+ output_2_power += "\n"
557
+ tup_2_power = (pp_2_legs_power_ev, output_2_power)
558
+ outputs.append(tup_2_power)
559
+
560
+ sort_plays(outputs)
561
+ for i in range(len(outputs)):
562
+ print(outputs[i][1])
563
+
564
+ if __name__ == "__main__":
565
+ main()