Как бы я совместил два выхода в Python 3? - PullRequest
0 голосов
/ 15 марта 2019

Как мне совместить два разных выхода, чтобы они были рядом в Python 3?

вход:

def Pokemon_Output(user_pkmn):

print("ID#",pkmn[user_pkmn][0])
print("Name:",pkmn[user_pkmn][1])
print("Type 1:",pkmn[user_pkmn][2])`
print("Type 2:",pkmn[user_pkmn][3])
print("Total:",pkmn[user_pkmn][4])
print("HP:",pkmn[user_pkmn][5])
print("Attack:",pkmn[user_pkmn][6])
print("Defense:",pkmn[user_pkmn][7])
print("Sp. Atk:",pkmn[user_pkmn][8])
print("Sp. Def:",pkmn[user_pkmn][9])
print("Speed:",pkmn[user_pkmn][10])
print("Legendary:",pkmn[user_pkmn][12])

def Second_Pokemon_Output(second_user_pkmn):
print("ID#",pkmn[second_user_pkmn][0])
print("Name:",pkmn[second_user_pkmn][1])
print("Type 1:",pkmn[second_user_pkmn][2])
print("Type 2:",pkmn[second_user_pkmn][3])
print("Total:",pkmn[second_user_pkmn][4])
print("HP:",pkmn[second_user_pkmn][5])
print("Attack:",pkmn[second_user_pkmn][6])
print("Defense:",pkmn[second_user_pkmn][7])
print("Sp. Atk:",pkmn[second_user_pkmn][8])
print("Sp. Def:",pkmn[second_user_pkmn][9])
print("Speed:",pkmn[second_user_pkmn][10])
print("Legendary:",pkmn[second_user_pkmn][12])

токовый выход:

ID# 4
Name: Charmander
Type 1: Fire
Type 2:
Total: 309
HP: 39
Attack: 52
Defense: 43
Sp. Atk: 60
Sp. Def: 50
Speed: 65
Legendary: Not Legendary

ID# 1
Name: Bulbasaur
Type 1: Grass
Type 2: Poison
Total: 318
HP: 45
Attack: 49
Defense: 49
Sp. Atk: 65
Sp. Def: 65
Speed: 45
Legendary: Not Legendary

Моя идея состояла в том, чтобы выровнять оба выхода бок о бок независимо от того, какие входы были.Примерно так:

ID# 4                       ID# 1
Name: Charmander            Name: Bulbasaur
Type 1: Fire                Type 1: Grass
Type 2:                     Type 2: Poison
Total: 309                  Total: 318
HP: 39                      HP: 45
Attack: 52                  Attack: 49
Defense: 43                 Defense: 49
Sp. Atk: 60                 Sp. Atk: 65
Sp. Def: 50                 Sp. Def: 65
Speed: 65                   Speed: 45
Legendary: Not Legendary    Legendary: Not Legendary

После этого я планировал провести какой-то анализ, сравнивающий статистику между двумя покемонами, но на самом деле я пытаюсь выровнять все.Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Я бы порекомендовал вам использовать имена свойств вашего набора данных в качестве индекса кадра данных pandas pkmn, например:

                    user1           user2
ID                      4               1
Name           Charmander       Bulbasaur                   
Type 1               Fire           Grass                   
Type 2                NaN          Poison                   
Total                 309             318                   
HP                     39              45                   
Attack                 52              49                   
Defense                43              49                   
Sp. Atk                60              65                   
Sp. Def                50              65                   
Speed                  65              45                   
Legendary   Not Legendary   Not Legendary

Это сделано, ваша функция печати уменьшается до

print(df.loc[:, users])

с, например,

users = ['user1', 'user2']
0 голосов
/ 15 марта 2019

Вы должны распечатать оба в одной функции.

Что-то вроде этого - то, что вам нужно:

def Pokemon_Output(first_pkmn, second_pkmn):
    column1 = "ID#" + pkmn[user_pkmn][0]
    column2 = "ID#" + pkmn[second_user_pkmn][0]
    print_line(column1, column2)
    column1 = "Name:" + pkmn[user_pkmn][1]
    column2 = "Name:" + pkmn[second_user_pkmn][1]
    print_line(column1, column2)
    .
    .
    .

def print_line(column1, column2):   
    print('{:<25s}{:<25s}'.format(column1, column2))
...