python - 如何从python中的字符串(句子)中的函数打印返回的字典输出?(加工)
问题描述
我正在创建一个程序,通过以下输入来计算一顿饭的总成本:meal_cost,tax_rate,tip_rate,number_eating
并使用函数调用将它们打印在字符串中。我在 StackOverflow 上查找,但找不到适合我情况的问题(打印从字符串中的函数返回的字典)
我有一个函数,它接受所有输入并返回字典输出。我想通过函数调用将这些返回值打印在字符串中,所有这些都在同一行中。这是我尝试过的:
def calculatedCost(meal_cost,tax_rate,tip_rate,number_eating):
tax = round(float(meal_cost * tax_rate) / 100,2)
tip = round(float(meal_cost * tip_rate) / 100,2)
total_cost = round(meal_cost + tax + tip,2)
division = round(total_cost / number_eating,2)
return {'tax': tax, 'tip': tip, 'total_cost':total_cost, 'division':division}
print("The cost of your meal is: {total_cost}, the tax on your meal is: {tax}, the tip is equal to: {tip}, and the split total is: {division}".format(calculatedCost(62.75,5,20,2)))
我得到这个错误:(我正在使用处理)
KeyError: total_cost
processing.app.SketchException: KeyError: total_cost
at jycessing.mode.run.SketchRunner.convertPythonSketchError(SketchRunner.java:240)
at jycessing.mode.run.SketchRunner.lambda$2(SketchRunner.java:119)
at java.lang.Thread.run(Thread.java:748)
解决方案
你需要解压dict
(注意双星号):
print("The cost of your meal is: {total_cost}, the tax on your meal is: {tax}, the tip is equal to: {tip}, and the split total is: {division}".format(**calculatedCost(62.75,5,20,2)))
推荐阅读
- excel - 使用 eloquent 进行最快的字符串比较
- c# - RestSharp - 尝试两个连续的帖子
- php - 为什么 Laravel Blade @error 不显示错误?
- snakemake - 覆盖命令行上的嵌套配置选项
- python - np.linalg.det() 的答案不正确
- android - 在我的应用中下载文件时,Android 9 不显示通知栏
- amazon-web-services - 让 SSM 开始会话使用 bash
- javascript - Cytoscape.js 在按钮单击时显示/隐藏图表中元素的标签
- java - 如何使用 for 循环中的接口
- javascript - 我的开/关开关没有关闭,我不知道如何修复