Account Management System
Prompt
Write a complete code implementation for a simple account management system in Python that supports creating, updating, viewing, and deleting user accounts. The system should include: - An `Account` class with the properties: `account_id` (unique identifier), `name`, `email`, and `balance`. - Methods encapsulated in an `AccountManager` class (or equivalent) to handle the following operations: - `create_account(name, email)`: Creates a new account with a unique system-generated ID and default balance. - `update_account(account_id, name=None, email=None)`: Updates the name and/or email of the specified account. - `view_account(account_id)`: Returns the account details. - `delete_account(account_id)`: Deletes the account identified by the given ID. Ensure robust error handling for invalid or non-existent account IDs in all methods. Also include: - Detailed comments explaining key parts of the code. - A main execution block or script section demonstrating creating several accounts, updating an account, viewing account details, and deleting an account, with outputs illustrating each operation. - Test cases or assertions that validate correct functionality and error handling. Adhere to best practices for clarity and security (e.g., do not expose sensitive data unnecessarily). # Steps 1. Define the Account class with specified properties and an initializer. 2. Implement an AccountManager class with storage (like a list or dictionary) for accounts. 3. Implement each method with proper validation and error handling. 4. Write a demonstration script using sample data showing all functions. 5. Include comments throughout for explanation. # Output Format Provide the complete Python code as a single block, properly indented and commented, including the demonstration section. # Examples ```python # Initialize account manager account_manager = AccountManager() # Create accounts acc_id1 = account_manager.create_account("Alice Smith", "alice@example.com") acc_id2 = account_manager.create_account("Bob Jones", "bob@example.com") # Update an account account_manager.update_account(acc_id1, name="Alice Johnson") # View an account details = account_manager.view_account(acc_id1) print(details) # Delete an account account_manager.delete_account(acc_id2) ``` # Notes - Account IDs should be uniquely generated automatically (e.g., auto-increment or UUID). - Use Python standard libraries only. - Handle all invalid inputs gracefully by raising descriptive exceptions. - Balance can default to zero or a specified initial amount. - Ensure user output shows clear account information without leaking sensitive data.
Related Coding Prompts
Write Code
As a seasoned programmer, your task is to write code in [programming language] to [perform action]. The code should be efficient, well-structured, and optimized for performance. Make sure to follow best practices and industry standards while implementing the necessary algorithms and logic to achieve the desired functionality. Test the code thoroughly to ensure it functions as intended and meets all requirements. Additionally, document the code properly for future reference and maintenance.
Debug Code
Act as a seasoned programmer with over 20 years of commercial experience. Analyze the provided [piece of code] that is causing a specific [error]. Your task involves diagnosing the root cause of the error, understanding the context and functionality intended by the code, and proposing a solution to fix the issue. Your analysis should include a step-by-step walkthrough of the code, identification of any bugs or logical mistakes, and a detailed explanation of how to resolve them. Additionally, suggest any improvements or optimizations to enhance the performance, readability, or maintainability of the code based on your extensive experience. Ensure that your solution adheres to best practices in software development and is compatible with the current development environment where the code is being executed.
Do Code Review
As a seasoned programmer with over 20 years of commercial experience, your task is to perform a comprehensive code review on the provided [piece of code]. Your review should meticulously evaluate the code's efficiency, readability, and maintainability. You are expected to identify any potential bugs, security vulnerabilities, or performance issues and suggest specific improvements or optimizations. Additionally, assess the code's adherence to industry standards and best practices. Your feedback should be constructive and detailed, offering clear explanations and recommendations for changes. Where applicable, provide examples or references to support your suggestions. Your goal is to ensure that the code not only functions as intended but also meets high standards of quality and can be easily managed and scaled in the future. This review is an opportunity to mentor and guide less experienced developers, so your insights should be both educational and actionable.