Форматирование по списку с включением запятых и пробелов - PullRequest
1 голос
/ 26 апреля 2020

Я использую этот словарь, добавляя другое значение к каждому pl anet с помощью mark_planets (), а затем распечатываю таблицу с определенными спецификациями.

############## # Пропустите это, это просто для правильной работы формулы
sol = {"Uranus": [2750, 3000, 2880], "Mercury": [46, 70, 57], "Earth": [147, 152, 150], "Venus": [107, 109, 108],
       "Mars": [205, 249, 228], "Saturn": [1350, 1510, 1430], "Jupiter": [741, 817, 779],
       "Pluto": [4440, 7380, 5910], "Neptune": [4450, 4550, 4500]}

status = [True, True, True, True, True, True, True, False, True]

def mark_planets(planets, stat):
    idx = 0
    for planet in planets:
        if stat[idx]:
            planets[planet].append("Planet")
            idx += 1
        else:
            planets[planet].append("Dwarf")
            idx += 1
################ Ниже приведена проблема
def display_planets(sol):
    print("{:>10} {:>10} {:>15} {:>15} {:>15}".format("planet", "status", "nearest", "furthest", "average"))
    print("{:-^69s}".format("-"))
    for planet in sol:
        print("{:>10} {:>10} {:>15} {:>15} {:>15}".format(planet, sol[planet][3], sol[planet][0], sol[planet][1],sol[planet][2]))

Итак, как показано, у меня правильный интервал для вывода, но мне нужно отформатировать значение [0], [1], [2] с запятыми между числами. Я не уверен, как отформатировать запятые в строку и оставить правильный интервал для правильной печати. ​​

Ниже приведен вывод, который у меня есть в данный момент.

    planet     status         nearest        furthest         average
---------------------------------------------------------------------
    Uranus     Planet      2750000000      3000000000      2880000000
   Mercury     Planet        46000000        70000000        57000000
     Earth     Planet       147000000       152000000       150000000
     Venus     Planet       107000000       109000000       108000000
      Mars     Planet       205000000       249000000       228000000
    Saturn     Planet      1350000000      1510000000      1430000000
   Jupiter     Planet       741000000       817000000       779000000
     Pluto      Dwarf      4440000000      7380000000      5910000000
   Neptune     Planet      4450000000      4550000000      4500000000``

Просто добавление запятой к числам это то, с чем я борюсь. Спасибо за помощь.

1 Ответ

3 голосов
/ 26 апреля 2020

Ответ происходит от ответа Иана Шнайдера

Вы можете передать , вашей спецификации целочисленного формата в конце, чтобы она читалась как:

some_value = 12345678
"{:>15,}".format(some_value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...