String Practice Lab
Apply your knowledge with these hands-on challenges. Each problem includes a detailed explanation of the solution.
Challenge 1: Palindrome Checker
A palindrome is a word or phrase that reads the same forwards and backwards, ignoring case, punctuation, and spaces.
Pyground
Write a function that checks if a given phrase is a palindrome. Test it with 'Was it a car or a cat I saw'.
Expected Output:
Is 'Was it a car or a cat I saw' a palindrome? True Is 'Hello World' a palindrome? False
Output:
Challenge 2: URL Slug Generator
Create a “slug” from a blog post title. A slug is a URL-friendly version of a string, typically all lowercase, with spaces replaced by hyphens.
Pyground
Convert the title 'My Awesome Guide to Python 3.9!' into a URL slug.
Expected Output:
Original: 'My Awesome Guide to Python 3.9!' Slug: 'my-awesome-guide-to-python-39'
Output:
Challenge 3: Summarize Text
Write a function that truncates a text to a certain length and adds ”…” if it was cut short, without cutting words in half.
Pyground
Summarize a long sentence to a maximum length of 50 characters.
Expected Output:
Python is an interpreted, high-level and general... This is short.
Output:
Challenge 4: Word Frequency Counter
Given a block of text, count the frequency of each word. The function should be case-insensitive and ignore punctuation.
Pyground
Count word frequencies in the text: 'Code, code, and more code! Python is fun. Is it?'
Expected Output:
{'code': 3, 'and': 1, 'more': 1, 'python': 1, 'is': 2, 'fun': 1, 'it': 1}
Output:
Challenge 5: Format a Table of Data
Given a list of tuples representing products (name, price, quantity), format them into a neatly aligned table using f-strings.
Pyground
Format a list of products into a clean, aligned table.
Expected Output:
Product Price Quantity ------------------------------------------ Laptop 1200.50 15 Mouse 25.00 120 Keyboard 75.99 50