计算嵌套字典
Calculating nested dictionaries
我越来越清楚,显然我不知道自己在做什么 :( 只是随意地咬得我无法咀嚼。
我想要得到的结果是:
People bought 9 of sirni.
Shop stock increased 10 of pizza.
我也有未解决的参考 burek_name 错误,但我想在突破计算后将其作为次要挑战来解决。作为第三个挑战,我知道我必须将数字处理成绝对值而不是 +-。当我被卡住时,请帮助我通过计算将我推向正确的方向!
感谢您的阅读!
burek_dict_0 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 10
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 10
}
}}
burek_dict_1 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 1
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 20
}
}}
def get_burek_avail():
global burek_dict_0
global burek_dict_1
burek_available_0 = ""
burek_available_1 = ""
while True:
for bureks, key in burek_dict_0.items():
for key, burek_available in bureks.items():
burek_available_0 = key['burek_available']
for bureks, key in burek_dict_1.items():
for key, burek_available in bureks.items():
burek_available_1 = key['burek_available']
if burek_available_0 - burek_available_1 > 0:
sold = burek_available_0 - burek_available_1
print(f"People bought {sold} of {burek_name}. ")
if burek_available_0 - burek_available_1 < 0:
sold = burek_available_0 - burek_available_1
print(f"Shop stock increased {sold} of {burek_name}. ")
您在找这样的东西吗?
burek_dict_0 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 10
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 10
}
}}
burek_dict_1 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 1
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 20
}
}}
def get_burek_avail():
burek_available_0 = 0
burek_available_1 = 0
bureks_0 = burek_dict_0['bureks'].values()
bureks_1 = burek_dict_1['bureks'].values()
for init, end in zip(bureks_0, bureks_1):
burek_available_0 = init['burek_available']
burek_available_1 = end['burek_available']
burek_name = init['burek_name']
if burek_available_0 > burek_available_1:
sold = burek_available_0 - burek_available_1
print(f"People bought {sold} of {burek_name}. ")
if burek_available_0 < burek_available_1:
sold = burek_available_1 - burek_available_0
print(f"Shop stock increased {sold} of {burek_name}. ")
我使用zip()
将两个字典的值配对在一起。
这是输出:
>>> get_burek_avail()
People bought 9 of sirni.
Shop stock increased 10 of pizza.
我越来越清楚,显然我不知道自己在做什么 :( 只是随意地咬得我无法咀嚼。
我想要得到的结果是:
People bought 9 of sirni.
Shop stock increased 10 of pizza.
我也有未解决的参考 burek_name 错误,但我想在突破计算后将其作为次要挑战来解决。作为第三个挑战,我知道我必须将数字处理成绝对值而不是 +-。当我被卡住时,请帮助我通过计算将我推向正确的方向!
感谢您的阅读!
burek_dict_0 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 10
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 10
}
}}
burek_dict_1 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 1
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 20
}
}}
def get_burek_avail():
global burek_dict_0
global burek_dict_1
burek_available_0 = ""
burek_available_1 = ""
while True:
for bureks, key in burek_dict_0.items():
for key, burek_available in bureks.items():
burek_available_0 = key['burek_available']
for bureks, key in burek_dict_1.items():
for key, burek_available in bureks.items():
burek_available_1 = key['burek_available']
if burek_available_0 - burek_available_1 > 0:
sold = burek_available_0 - burek_available_1
print(f"People bought {sold} of {burek_name}. ")
if burek_available_0 - burek_available_1 < 0:
sold = burek_available_0 - burek_available_1
print(f"Shop stock increased {sold} of {burek_name}. ")
您在找这样的东西吗?
burek_dict_0 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 10
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 10
}
}}
burek_dict_1 = {"bureks": {
"1": {
"burek_name": "sirni",
"burek_price": 1.8,
"burek_available": 1
},
"2": {
"burek_name": "mesni",
"burek_price": 2,
"burek_available": 10
},
"3": {
"burek_name": "pizza",
"burek_price": 1.9,
"burek_available": 20
}
}}
def get_burek_avail():
burek_available_0 = 0
burek_available_1 = 0
bureks_0 = burek_dict_0['bureks'].values()
bureks_1 = burek_dict_1['bureks'].values()
for init, end in zip(bureks_0, bureks_1):
burek_available_0 = init['burek_available']
burek_available_1 = end['burek_available']
burek_name = init['burek_name']
if burek_available_0 > burek_available_1:
sold = burek_available_0 - burek_available_1
print(f"People bought {sold} of {burek_name}. ")
if burek_available_0 < burek_available_1:
sold = burek_available_1 - burek_available_0
print(f"Shop stock increased {sold} of {burek_name}. ")
我使用zip()
将两个字典的值配对在一起。
这是输出:
>>> get_burek_avail()
People bought 9 of sirni.
Shop stock increased 10 of pizza.