我在打印以下代码时遇到问题:
pizza_order = {'name': 'Matthew', 'size': 'large', 'crust': 'stuffed', 'toppings': 'sausage, bacon, beef, ham'}
orders = []
for value in pizza_order.values():
pizza = "Thank you for your order, " + value.get('name') + "\nYou have ordered a " + value.get('size') + ", " + value.get('crust') + " crust pizza with the following toppings:\n" + value.get('toppings')
orders.append(pizza)
print(orders)
我收到的错误为:
Traceback (most recent call last):
line 33, in <module>
pizza = "Thank you for your order, " + value.get('name') + "\nYou have ordered a " + value.get('size') + ", " + value.get('crust') + " crust pizza with the following toppings:\n" + value.get('toppings')
AttributeError: 'str' object has no attribute 'get'
您做错了,您需要比萨饼订单作为列表,否则没有理由创建
order=[]
输出:
for循环正在遍历pizza\u order字典,而不是orders数组
pizza_order.values()
返回dict的值["Matthew", "large", ...]
如果只想显示顺序并添加到
orders
数组中,则不需要使用循环values()
迭代字典的值-Matthew
,large
,等等。因为字典包含单个顺序,所以不需要循环,只需直接运行print
相关问题 更多 >
编程相关推荐