Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Challenge: Generate a Simple Expense Report | Visualizing and Presenting Information
Python for Daily Tasks

bookChallenge: Generate a Simple Expense Report

Tâche

Swipe to start coding

Write a function that prints a neatly formatted table of items and expenses, including the total expense at the end.

  • Print each item and its amount, formatted in aligned columns.
  • After listing all items, print a row with the total amount, labeled "Total".
  • The amount for each item and the total should be displayed with two decimal places.

Solution

12345678910111213141516171819
def print_expense_report(expenses): print("Item | Amount") print("-------------|-------") total = 0 for item, amount in expenses: line = f"{item:<12} | ${amount:>6.2f}" print(line) total += amount total_line = f"{'Total':<12} | ${total:>6.2f}" print("-------------|-------") print(total_line) expenses = [ ("Groceries", 54.32), ("Utilities", 120.00), ("Coffee", 8.50), ("Internet", 45.99) ] print_expense_report(expenses)
copy
123456789101112
def print_expense_report(expenses): print("Item | Amount") print("-------------|-------") # Write your code here expenses = [ ("Groceries", 54.32), ("Utilities", 120.00), ("Coffee", 8.50), ("Internet", 45.99) ] print_expense_report(expenses)
copy

Write a function that prints a neatly formatted table of items and expenses, including the total expense at the end.

  • Print each item and its amount, formatted in aligned columns;
  • After listing all items, print a row with the total amount, labeled "Total";
  • The amount for each item and the total should be displayed with two decimal places.

Unit Test Checklist

  • Each item and its amount are printed in aligned columns;
  • The total amount is printed after all items, labeled "Total";
  • Amounts, including the total, are formatted with two decimal places;
  • The function handles an empty list of expenses by showing only headers and the total as 0.00.
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain how the columns should be aligned if the item names are longer?

What should the function do if the expenses list is empty?

Can you show an example with different data?

close

bookChallenge: Generate a Simple Expense Report

Glissez pour afficher le menu

Tâche

Swipe to start coding

Write a function that prints a neatly formatted table of items and expenses, including the total expense at the end.

  • Print each item and its amount, formatted in aligned columns.
  • After listing all items, print a row with the total amount, labeled "Total".
  • The amount for each item and the total should be displayed with two decimal places.

Solution

12345678910111213141516171819
def print_expense_report(expenses): print("Item | Amount") print("-------------|-------") total = 0 for item, amount in expenses: line = f"{item:<12} | ${amount:>6.2f}" print(line) total += amount total_line = f"{'Total':<12} | ${total:>6.2f}" print("-------------|-------") print(total_line) expenses = [ ("Groceries", 54.32), ("Utilities", 120.00), ("Coffee", 8.50), ("Internet", 45.99) ] print_expense_report(expenses)
copy
123456789101112
def print_expense_report(expenses): print("Item | Amount") print("-------------|-------") # Write your code here expenses = [ ("Groceries", 54.32), ("Utilities", 120.00), ("Coffee", 8.50), ("Internet", 45.99) ] print_expense_report(expenses)
copy

Write a function that prints a neatly formatted table of items and expenses, including the total expense at the end.

  • Print each item and its amount, formatted in aligned columns;
  • After listing all items, print a row with the total amount, labeled "Total";
  • The amount for each item and the total should be displayed with two decimal places.

Unit Test Checklist

  • Each item and its amount are printed in aligned columns;
  • The total amount is printed after all items, labeled "Total";
  • Amounts, including the total, are formatted with two decimal places;
  • The function handles an empty list of expenses by showing only headers and the total as 0.00.
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
single

single

some-alt