Start learning free

LESSON 167 OF 415 · PROJECTS: EVERYDAY PROGRAMS

Shopping Cart V5 - Coupon Codes in Swift

Practice

Use a map as a fast lookup table for coupon discounts.

You start with:

        let subtotal = 100
        let coupon = "SAVE20"
        let coupons = ["SAVE10": 10, "SAVE20": 20, "SAVE50": 50]

Build:

Total: $80

Rules:

  • Look up coupon in coupons. If it is there, its value is the discount; if it is not (an unknown code), the discount is 0.
  • total = subtotal - discount.
  • Build the text "Total: $<total>" (e.g. "Total: $80"; an unknown coupon would give "Total: $100").
  • Store it in result, then print it with print(result).

Use coupons[coupon, default: 0]: it returns the value if the key is present, or 0 if it is missing.

Use string interpolation, for example "Total: $\(total)", to embed a number in text.

        let subtotal = 100
        let coupon = "SAVE20"
        let coupons = ["SAVE10": 10, "SAVE20": 20, "SAVE50": 50]

        let discount = coupons[coupon, default: 0]
        let total = subtotal - discount
        let result = "Total: $\(total)"
        print(result)

STEP 1 OF 4
    Ctrl + Enter to check

    Shopping Cart V5 in Swift

    Keep going with SwiftAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free