Как напечатать элементы в списке строк, используя метод форматирования в Python 3 - PullRequest
0 голосов
/ 18 апреля 2019

Предоставлен список данных об инвентаре магазина, где каждый элемент в списке представляет название товара, сколько на складе и сколько это стоит. Распечатайте каждый элемент в списке с одинаковым форматированием, используя метод .format (не конкатенация строк). Например, первое печатное заявление должно гласить: «В магазине 12 ботинок, каждый по 29,99 долларов США.

Я инициализировал индексную переменную i значением 0 и записал цикл с переменной цикла, чтобы просмотреть содержимое списка.

Затем у меня есть заявление на печать, в котором будет напечатано «В магазине {} {}, каждый за {} USD». который использует метод формата, чтобы заполнить соответствующие значения для скобки. Для метода форматирования я использовал i для своей индексной переменной для индексации по списку. Затем я увеличиваю свою индексную переменную на 1 для следующего запуска цикла, пока цикл не пройдет по списку.

inventory = ["shoes, 12, 29.99", "shirts, 20, 9.99", "sweatpants, 25, 15.00", "scarves, 13, 7.75"]

i = 0

for item in inventory:
    print("The store has {} {}, each for {} USD.".format(inventory[i], inventory[i], inventory[i]))
    i += 1

Ожидаемый результат должен быть - The store has 12 shoes, each for 29.99 USD.

Однако, как пишется мой код, я получаю - The store has shoes, 12, 29.99 shoes, 12, 29.99, each for shoes, 12, 29.99 USD.

Мне неясно, как правильно индексировать при использовании метода форматирования, поскольку я работаю со списком строк. Что мне нужно исправить, чтобы правильно индексировать?

1 Ответ

1 голос
/ 18 апреля 2019

У вас есть список строк, вам нужно разбить их на поля:

for item in inventory:
    item_desc, number, cost = item.split(", ")
    print("The store has {} {}, each for {} USD.".format(item_desc, number, cost)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...