Python如何从其他文件导入多个字典变量并进行数值运算
正确导入变量的两种实现方案
你当前代码无法运行的核心原因是仅导入了whole_meals列表,没有将food_items等单独字典变量导入当前命名空间,直接调用会触发NameError,可选择以下任意一种方案修改:
方案1:直接导入所有需要的变量(改一行代码即可,无需修改原有运算逻辑)
把导入语句替换为以下内容,直接导入所有需要用到的字典变量:
from cal_trac_master_log import whole_meals, food_items, meal_prep, WF_items
注意:你现有运算代码中用到了
take_out_pop字典,这个变量在你提供的主日志文件中没有定义,需要先在cal_trac_master_log中补充这个字典的定义并一起导入,或者在当前文件中完成定义,否则依然会报错。
修改完成后你原来写的热量计算代码可以直接正常运行。
方案2:仅通过whole_meals列表提取需要的字典
如果你不想修改导入语句,只需要在导入后手动从列表中提取对应字典赋值即可,因为你定义whole_meals时的顺序是[food_items, WF_items, meal_prep],所以可以按索引取值:
from cal_trac_master_log import whole_meals # 按索引提取对应字典 food_items = whole_meals[0] WF_items = whole_meals[1] meal_prep = whole_meals[2]
后续的热量计算代码不需要做任何修改即可正常运行。
额外提示
你主日志中的food_items字典里peanut butter重复定义了两次,后面的90会覆盖前面的180,如果你是写错了可以调整键名或者数值。
内容的提问来源于stack exchange,提问作者poptart20
相关产品推荐
相关产品推荐

