# /// script # requires-python = ">=3.10" # dependencies = [ # "marimo", # ] # /// import marimo __generated_with = "0.10.12" app = marimo.App() @app.cell def _(): import marimo as mo return (mo,) @app.cell(hide_code=True) def _(mo): mo.md( """ # 🎭 Strings Dive into the world of Python strings — where text comes to life! ## Creating strings In Python, strings are containers for text. You can create them in two simple ways: ```python greeting = "Hello, Python!" # using double quotes name = 'Alice' # using single quotes ``` Below is an example string. """ ) return @app.cell def _(): text = "Python is amazing" return (text,) @app.cell(hide_code=True) def _(mo): mo.md( """ ## Essential string operations Here are some methods for working with strings. Tip: Try changing the value of `text` above, and watch how the computed values below change. """ ) return @app.cell def _(text): len(text) return @app.cell def _(text): text.upper() return @app.cell def _(text): text.lower() return @app.cell def _(text): text.title() return @app.cell(hide_code=True) def _(mo): mo.md("""Use string methods and the `in` operator to find things in strings.""") return @app.cell def _(text): text.find('is') return @app.cell def _(text): "Python" in text return @app.cell def _(text): "Javascript" in text return @app.cell def _(mo): mo.md( """ ## Inserting values in strings Modern Python uses f-strings to insert values into strings. For example, check out how the next cell greets you (and notice the `f''''`)! Try changing the value of `my_name`, and watch how the greeting changes. """ ) return @app.cell def _(): my_name = '' return (my_name,) @app.cell def _(my_name): f"Hello, {my_name}!" return @app.cell(hide_code=True) def _(mo): mo.md( """ ## Working with Parts of Strings You can access any part of a string using its position (index): """ ) return @app.cell def _(text): first_letter = text[0] first_letter return (first_letter,) @app.cell def _(text): last_letter = text[-1] last_letter return (last_letter,) @app.cell def _(text): first_three = text[0:3] first_three return (first_three,) @app.cell def _(text): last_two = text[-2:] last_two return (last_two,) @app.cell(hide_code=True) def _(mo): mo.md( """ ## Other helpful string methods Finally, here are some other helpful string methods. Feel free to try them out on your own strings! ```python sentence = " python is fun " # Remove extra spaces print(sentence.strip()) # "python is fun" # Split into a list of words print(sentence.split()) # ['python', 'is', 'fun'] # Replace words print(sentence.replace('fun', 'awesome')) # Check what kind of text you have print("123".isdigit()) # True - only numbers? print("abc".isalpha()) # True - only letters? print("Python3".isalnum()) # True - letters or numbers? ``` """ ) return @app.cell(hide_code=True) def _(mo): callout_text = mo.md(""" ## Your String Journey Begins! Next Steps: - Try combining different string methods - Practice with f-strings - Experiment with string slicing You're doing great! 🐍✨ """) mo.callout(callout_text, kind="success") return (callout_text,) if __name__ == "__main__": app.run()