Как мне исправить мой скрипт на python так, чтобы я получал свой вывод в матричном формате? - PullRequest
0 голосов
/ 21 февраля 2019

Я новичок в python и пытаюсь отформатировать этот вывод.

Мой код:

r1 = 1
r2 = 2
r3 = 3
r4 = 4
r5 = 5
for a in ['Interest rate','1%','2%','3%','4%','5%']:
    print (a)

for b in ['Rule of 72 Doubling time in years',72/r1,72/r2,72/r3,72/r4,72/r5]:
    print(b)

for c in ['Actual Doubling time in years','70','36','24','18','15']:
    print(c)

Однако приведенный выше код не печатается в желаемом формате матричного типа:

Требуемый вывод:

Interest Rate  Rule of 72     Actual doubling time
1%              72             70
2%              36             36

Как мне изменить свой код или добавить, чтобы я его печатал, как указано выше?

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

Вы можете использовать itertools для решения вашей проблемы.

Код:

import itertools
r1 = 1
r2 = 2
r3 = 3
r4 = 4
r5 = 5
list_1 = ['Interest rate','1%','2%','3%','4%','5%']
list_2 = ['Rule of 72 Doubling time in years',72/r1,72/r2,72/r3,72/r4,72/r5]
list_3 = ['Actual Doubling time in years','70','36','24','18','15']

for a, b, c in itertools.izip(x, y, z):
    print a,b,c

Вывод:

Interest rate Rule of 72 Doubling time in years Actual Doubling time in years
1% 72 70
2% 36 36
3% 24 24
4% 18 18
5% 14 15

В идеале, вышеприведенный подход решил бы вашу проблемупроблема, но что, если вы хотите напечатать его лучше, тогда вы можете использовать приведенный ниже подход.

import itertools
r1 = 1
r2 = 2
r3 = 3
r4 = 4
r5 = 5
list_1 = ['Interest rate','1%','2%','3%','4%','5%']
list_2 = ['Rule of 72 Doubling time in years',72/r1,72/r2,72/r3,72/r4,72/r5]
list_3 = ['Actual Doubling time in years','70','36','24','18','15']

for a, b, c in itertools.izip(x, y, z):
    print "%-10s  %20s  %30s" % (a,b,c)

Вывод:

Interest rate  Rule of 72 Doubling time in years   Actual Doubling time in years
1%                            72                              70
2%                            36                              36
3%                            24                              24
4%                            18                              18
5%                            14                              15

Надеюсь, что это ответ на ваш вопрос !!!

0 голосов
/ 21 февраля 2019

Я не уверен в этом ответе, надеюсь, он вам поможет.

Попробуйте использовать словарь:

r1,r2,r3,r4,r5 = 1,2,3,4,5
import pandas as pd
my_dict = { 'Interest rate' : ['1%','2%','3%','4%','5%'],
            'Rule of 72 Doubling time in years' : [72/r1,72/r2,72/r3,72/r4,72/r5],
             'Actual Doubling time in years' : ['70','36','24','18','15']}

df = pd.DataFrame(my_dict)
df

с пандами, у вас будет желаемая выходная матрица

0 голосов
/ 21 февраля 2019

Может быть, это немного поможет вам в пути:

r1 = 1
r2 = 2
r3 = 3
r4 = 4
r5 = 5

c1 = [a for a in ['Interest rate','1%','2%','3%','4%','5%']]
c2 = [b for b in ['Rule of 72 Doubling time in years', 72 / r1, 72 / r2, 72 / r3, 72 / r4, 72 / r5] ]
c3 = [c for c in ['Actual Doubling time in years', '70', '36', '24', '18', '15'] ]

for a,b,c in zip(c1,c2,c3):
    print(a,b,c)

Это дает:

Interest rate Rule of 72 Doubling time in years Actual Doubling time in years
1% 72.0 70
2% 36.0 36
3% 24.0 24
4% 18.0 18
5% 14.4 15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...