EDIT: Когда я говорю функцию в названии, я имею в виду функцию математической функции, а не функцию программирования. Извините за возникшую путаницу.создание простой функции с использованием списков операторов и целых чисел
Я пытаюсь создать функцию из произвольно генерируемых целых чисел и операторов. Подход, который я принимаю сейчас, следующий:
ШАГ 1: Генерировать случайный список операторов и целых чисел в виде списка.
ШАГ 2: Применить набор правил к списку, чтобы я всегда получал список целых чисел, операторов, целых чисел, операторов ... и т. Д.
ШАГ 3: Используйте модифицированный список для создания единого ответа после того, как операции были применены к целым числам.
Например:
ШАГ 1 РЕЗУЛЬТАТ: [1,2, +, -, 2, /, 3,8, *]
ШАГ 2 РЕЗУЛЬТАТ: [1, + 2, - , 2, /, 3, *, 8] - Обратите внимание, что я использую команду оператора для генерации операторов в списке.
STEP 3 RESULT: Выход предназначен для функции чтения слева направо, а не для применения BODMAS, поэтому в этом случае я ожидаю, что выход будет равен 8/3 (выход не должен быть целое число).
Итак, мой вопрос: какая функция (и внутри какого модуля) доступна, чтобы помочь мне объединить список, как определено выше. ИЛИ следует ли комбинировать список по-другому, чтобы позволить мне использовать определенную функцию?
Я рассматриваю возможность изменения способа генерации списка в первую очередь, так что я делаю вид на лету, но я думаю, что в конечном итоге я окажусь в той же ситуации, что я не знаю, как объединить целые числа и операторы после прохождения процесса сортировки.
Я чувствую, что здесь есть простое решение, и я привязываю себя в узлах без необходимости!
Любая помощь очень ценится,
Dom
Можете ли вы попытаться разъяснить немного больше о том, что вы хотите от функции? вам нужна функция, которая выполняет случайные математические операции? – WildCard
Я хочу, чтобы функция интерпретировала предопределенный список в математической функции, читаемой слева направо. Целые числа и операторы будут предопределены другой частью программы. – user3742808
, так что у вас будет список ex. (1, +, 2, 3, /, 4) будет равняться 1 + 2 и 3/4? это то, что вы пытаетесь сделать? – WildCard