Как напечатать список первых 1000 (квадратные корни, кубические корни, четвертые корни и пятые корни) в Python? - PullRequest
0 голосов
/ 01 ноября 2019

Мне любопытно, как создать свой собственный список (первое, n-е число) из: (квадратные корни, кубические корни, четвертые корни и пятые корни) в Python.

Примерно так (без графического интерфейса):

Imgur Picture of: List of First 1000 Cube Numbers

Мне действительно любопытно, как это создается, потому что я бы многое узнал о корнях в математике вВ общем, и о решении корневых проблем Python.

Спасибо.

Ответы [ 2 ]

1 голос
/ 01 ноября 2019

Поскольку вас больше интересуют различные полномочия, вы можете написать функцию, которая принимает 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]
0 голосов
/ 01 ноября 2019
for i in range(1, 1001):
    print(i, i * i * i)

Отпечатки:

1 1
2 8
3 27
4 64
5 125
6 216
7 343
8 512
9 729
10 1000
11 1331
12 1728
13 2197
14 2744
15 3375
16 4096
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...