아래 코드 첨부함

급하게 만든 거라 오류 있을 수 있음

import pandas as pd
from itertools import product


def floor_exp(cost, prob, floor):
    result = sum((cost * i) * (1-prob)**(i-1) * prob for i in range(1, floor))
    result += (cost * floor) * (1-prob)**(floor-1)
    result = round(result)
    return result

level_dict = {
    150: {
        'rare': 9750000,
        'epic': 27300000,
        'unique': 66300000,
        'legend': 78000000
    },
    160: {
        'rare': 10375000,
        'epic': 29050000,
        'unique': 70550000,
        'legend': 78000000
    },
    200: {
        'rare': 11000000,
        'epic': 30800000,
        'unique': 74800000,
        'legend': 88000000
    },
    250: {
        'rare': 12250000,
        'epic': 34300000,
        'unique': 83300000,
        'legend': 98000000
    }
}


levels = (150, 160, 200, 250)
stages = ('rare', 'epic', 'unique')
probs = dict(zip(
    stages,
    (0.023810, 0.009804, 0.007)
))
floors = dict(zip(
    stages,
    (62, 152, 214)
))


data = []
for level in levels:
    result = [f'{floor_exp(level_dict[level][stage], probs[stage], floors[stage]):13,}'
              for stage in stages]
    data.append([level, *result])
data = pd.DataFrame(data, columns=['level', *stages])