Bird
Raised Fist0

Consider this simplified payment processing pseudocode:

medium📝 Analysis Q13 of Q15
LLD - Design — Parking Lot System
Consider this simplified payment processing pseudocode:
def process_payment(amount, card_info):
    if not validate_card(card_info):
        return "Invalid card"
    if amount <= 0:
        return "Invalid amount"
    if not charge_card(card_info, amount):
        return "Charge failed"
    record_transaction(card_info, amount)
    return "Payment successful"

What will be the output of process_payment(100, 'expired_card') if validate_card returns False for expired cards?
A"Invalid card"
B"Charge failed"
C"Payment successful"
D"Invalid amount"
Step-by-Step Solution
Solution:
  1. Step 1: Check card validation result

    Since validate_card returns False for expired cards, the first if condition triggers.
  2. Step 2: Return error message immediately

    The function returns "Invalid card" without further processing.
  3. Final Answer:

    "Invalid card" -> Option A
  4. Quick Check:

    Expired card -> validate_card = False -> "Invalid card" [OK]
Quick Trick: If validation fails, function returns error immediately [OK]
Common Mistakes:
MISTAKES
  • Assuming charge_card runs despite invalid card
  • Confusing invalid amount with invalid card
  • Expecting success despite validation failure

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More LLD Quizzes