如何使用Python 3

时间:2019-04-18 20:14:55

标签: python string list indexing format

提供了有关商店库存数据的列表,其中列表中的每个项目都代表项目的名称,库存量以及成本。使用.format方法(不是字符串连接)以相同的格式打印出列表中的每个项目。例如,第一个打印语句应显示为“商店有12双鞋,每双售价29.99美元。”

我将索引变量i初始化为0,并使用循环变量编写for循环以遍历列表中的内容。

然后我有一个打印语句,该语句将打印“商店有{} {},每个为{} USD。”利用格式方法为括号填写适当的值。对于format方法,我将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.

由于使用的是字符串列表,因此我不清楚使用format方法时如何正确编制索引。我需要解决什么才能正确建立索引?

3 个答案:

答案 0 :(得分:1)

您在那里有一个字符串列表,您需要将它们分成几个字段:

for item in inventory:
    item_desc, number, cost = item.split(", ")
    print("The store has {} {}, each for {} USD.".format(item_desc, number, cost)

答案 1 :(得分:1)

inventory = ["shoes, 12, 29.99", "shirts, 20, 9.99", "sweatpants, 25, 15.00", "scarves, 13, 7.75"]
for i in inventory:
    ``str1 = []
    str1 = i.split(", ")
    print("The store has {} {}, each for {} USD.".format(str1[1],str1[0],str1[2]))

答案 2 :(得分:0)

inventory = ["shoes, 12, 29.99", "shirts, 20, 9.99", "sweatpants, 25, 15.00", "scarves, 13, 7.75"]
for item in inventory:
    item = item.split(",")
    print("The store has{qua} {pro}, each for{price} USD.".format(pro = item[0],qua = item[1] ,price = item[2]))