对于一个关于Python的学校项目,我需要编写一个允许用户订购比萨饼的程序。用户必须能够订购任意数量的比萨饼

2024-05-14 20:33:13 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法把一个字符串转换成一个列表的名称,这样每个列表对应一个不同的比萨饼被订购?这样,我就不必单独列出用户可以订购的所有可能的比萨饼。 我是这样想的,虽然我知道这是错误的:

num_pizzas = 4
list_name = 'pizza'+num_pizzas
list_name = [cheese, pepperoni, onions, pineapple]

理论上,列表的名称应该是字符串列表名称。在本例中,新列表的名称将是pizza4。 我知道我给出的示例只是更改了现有变量列表名称的类型。这个想法是为了让新的列表与正在订购的比萨饼数量相对应。 有什么想法吗


Tags: 字符串用户name名称列表错误numlist
3条回答

您可以使用字典,从存储的键值调用pizza类型

list_name = {"pizza1":"cheese", "pizza2":"pepperoni", "pizza3":"onions", "pizza4":"pineapple"}

for key in list_name.items():
  print(key)

('pizza1', 'cheese')
('pizza2', 'pepperoni')
('pizza3', 'onions')
('pizza4', 'pineapple')

for key, value in list_name.items():
  print(key, value)

pizza1 cheese
pizza2 pepperoni
pizza3 onions
pizza4 pineapple
你应该考虑使用DICT,你可以达到这样的效果:

pizza_orders = {
    "pizza1": {
        "num_orders": 2,
        "ingridients": ["ing1", "ing2"]
    },
    "pizza2": {
        "num_orders": 3,
        "ingridients": ["ing2", "ing3"]
    },
}

# to acces ingridents/num_orders
print(pizza_orders['pizza1']['num_orders'])
>>> 2
print(pizza_orders['pizza1']['ingridients'])
>>> ["ing1", "ing2"]

字典在这里有用吗? 可能是这样的:

ordered_pizzas = {"pizza1":["cheese", "pepperoni", "onions", "pineapple"]}

### to add new
num_pizzas = 2
list_name = 'pizza'+str(num_pizzas)
ordered_pizzas[list_name] = ["cheese", "pepperoni", "olives"]

这样,您就可以通过使用字符串索引来访问列表

相关问题 更多 >

    热门问题