#python
#python
Вопрос:
У меня есть эта функция, и я хочу сохранить результат вычисления и использовать его в другом вычислении. Я новичок в python, и, как вы можете видеть, я объявляю новые переменные, но я не могу сделать это n раз, и я знаю, что мне нужно использовать цикл for, но не могу определить как. Можете ли вы мне помочь
def aprox_ln(x,n):
a=(1 x)/2
print('a0',a);
g=math.sqrt(x)
print('g0',g)
anew = (a g)/2
gnew = math.sqrt(a*g)
aa = (anew * gnew)/2
bb= math.sqrt(anew*gnew)
.
.
.
# and so on for n times
print(aprox_ln(5,10))
Редактировать:
Я хочу использовать результат переменных A и G для вычисления A1 = (A G) / 2 и G1 = math.sqrt (A * G), а затем использовать результат A1 и G1 для вычисления A2 и G2 по той же формуле и так далее, пока An и Gn
Ответ №1:
Чтобы сохранять переменные по пути повторяющимся образом, вы можете использовать список или выполнить рекурсивный вызов функции.
Добавление к спискам: https://www.programiz.com/python-programming/methods/list/append
Рекурсивное программирование: https://www.programiz.com/python-programming/recursion
Если вы можете быть более конкретными в том, что вы хотите, чтобы ваша программа выполняла, мы можем дать вам более конкретные примеры кода, как это сделать.
Обновление: я включил некоторый код для того, что, я думаю, вы хотели бы сделать.
def aprox_ln(x, n)
a = 1
g = x
lst = []
for i in range(n):
a = (a g)/2
g = math.sqrt(a*g)
lst.append((a, g))
return lst
Комментарии:
1. Я хочу использовать результат переменных A и G для вычисления A1 = (A G) / 2 и G1 = math.sqrt (A * G), а затем использовать результат A1 и G1 для вычисления A2 и G2 по той же формуле и так далее, пока An и Gn