Как напечатать возвращенный словарный вывод из функции внутри строки (предложения) в Python? (Обработка)

1

Я создаю программу, которая рассчитывает общую стоимость еды, используя следующие входные данные: food_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)
  • 0
    Э-э, вы не получите ошибок Java в CPython. Это Jython?
  • 0
    да, это Jython.
Показать ещё 3 комментария
Теги:
processing
jython

1 ответ

4

вам нужно распаковать 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)))
  • 0
    Омг большое спасибо!
  • 0
    @CodeMan: если это решило вашу проблему, пометьте ответ как принятый.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню