Uno Card Play Function

Develop a Python function to emulate a card play in the Uno game, following certain rules.

In the Uno card game, a player can discard a card from their hand under the following conditions: 1. The color of the player's card matches the color of the topmost card on the stack. 2. The number on the player's card matches the number of the topmost card on the stack. Implement a Python function `play_card(hand, top_card)`: - This function should accept two parameters: `hand` - a list of strings representing the cards in the player's hand, and `top_card` - a string depicting the topmost card on the stack. - The function should discard the first card from `hand` that satisfies either of the Uno game conditions mentioned above. - The function should provide a message based on the number of cards remaining in `hand` after discarding a card. ### Parameters - `hand`: A list of strings, where each string represents a card in the player's hand, denoted in the format "<color> <number>". - `top_card`: A string that represents the topmost card on the stack, denoted in the format "<color> <number>". ### Return Value - Returns a string "Uno!" if only 1 card is left in the `hand` after discarding a card. - Returns "You won!" if there are no cards left in the `hand` after discarding a card. - Returns "Keep playing..." if more than 1 card is left in the `hand` after discarding a card. - Returns "No valid move" if no cards in `hand` satisfy the Uno game conditions. ### Examples ```python play_card(["yellow 3", "red 3"], "red 10") # Outputs: "Uno!" play_card(["blue 1"], "blue 5") # Outputs: "You won!" play_card(["blue 1", "green 2", "yellow 4", "red 2"], "blue 5") # Outputs: "Keep playing..." play_card(["green 2", "yellow 4", "red 2"], "blue 5") # Outputs: "No valid move" ```