Поскольку вас больше интересуют различные полномочия, вы можете написать функцию, которая принимает N-е число, до которого вы хотите распечатать, и мощность, которую вы хотите использовать. Затем он вернет кортеж текущего значения n
, значения n
в power
и затем текстовую формулу.
Функция также выдает результаты, так что если вы искалибольшие значения N не сразу все будут загружены в память.
В этом примере я загрузил модуль pandas просто для простой печати вывода в виде фрейма данных.
РЕДАКТИРОВАТЬ обновлен с примером для корней. функция корней может принимать необязательный параметр для десятичной точности, так как корни чаще всего возвращают десятичные значения. если для функции не задано значение точности, будет показана полная точность
import pandas as pd
def get_nth_powers(nth, power):
for n in range(nth):
written_formula = (" x ".join([str(n)] * power))
yield (n, n ** power, written_formula)
def get_nth_roots(nth, root, decimal_precision=0):
decimal_precision = f'0.{decimal_precision}f' if decimal_precision else ''
for n in range(nth):
value = n ** (1/root)
written_formula = (" x ".join([f'{value:{decimal_precision}}'] * root))
yield (n, value, written_formula)
data = get_nth_powers(1000, 4)
df = pd.DataFrame(data, columns=('Nth', 'To Power', 'formula'))
print(df)
data = get_nth_roots(1000, 2, 3)
df = pd.DataFrame(data, columns=('Nth', 'value', 'formula'))
print(df)
ВЫХОД
Nth To Power formula
0 0 0 0 x 0 x 0 x 0
1 1 1 1 x 1 x 1 x 1
2 2 16 2 x 2 x 2 x 2
3 3 81 3 x 3 x 3 x 3
4 4 256 4 x 4 x 4 x 4
.. ... ... ...
995 995 980149500625 995 x 995 x 995 x 995
996 996 984095744256 996 x 996 x 996 x 996
997 997 988053892081 997 x 997 x 997 x 997
998 998 992023968016 998 x 998 x 998 x 998
999 999 996005996001 999 x 999 x 999 x 999
[1000 rows x 3 columns]
Nth value formula
0 0 0.000000 0.000 x 0.000
1 1 1.000000 1.000 x 1.000
2 2 1.414214 1.414 x 1.414
3 3 1.732051 1.732 x 1.732
4 4 2.000000 2.000 x 2.000
.. ... ... ...
995 995 31.543621 31.544 x 31.544
996 996 31.559468 31.559 x 31.559
997 997 31.575307 31.575 x 31.575
998 998 31.591138 31.591 x 31.591
999 999 31.606961 31.607 x 31.607
[1000 rows x 3 columns]