Я пытаюсь придумать код, который будет выполнять статистический анализ юнита из настольной игры для личного использования. Я использую словари для хранения данных юнитов, и я столкнулся с проблемой, когда урон от атаки может быть либо целым числом, либо результатом броска кубика «d6»
Я сделал функцию, которая принимает значение d6 и оценивает его как d (6), затем выполняет простой расчет, чтобы определить среднее количество снимков, 3.5. По соображениям удобства я хотел бы иметь возможность сохранять «d (6)» в словаре вместо преобразования вручную в 3,5 для каждой единицы, которую я хочу вставить.
В очень урезанном примере словаря единиц,
unit = {'damage':1}
или
unit = {'damage':'d(6)'}
Я ищу способ проверить вызов «повреждения», если значение является целым числом или строкой, а затем, если это строка, убрать из нее кавычки и оценить ее как функцию. Мне не очень повезло в поиске, так как я не знаю, что я ищу.