Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Document loading and parsing in Prompt Engineering / GenAI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to load a text document from a file.

Prompt Engineering / GenAI
with open('document.txt', '[1]') as file:
    content = file.read()
Drag options to blanks, or click blank then click option'
Ar
Bw
Ca
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'w' mode which overwrites the file.
Using 'a' mode which appends to the file.
2fill in blank
medium

Complete the code to split the loaded document content into sentences.

Prompt Engineering / GenAI
sentences = content.[1]('.')
Drag options to blanks, or click blank then click option'
Ajoin
Bsplit
Creplace
Dstrip
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'join' which combines strings instead of splitting.
Using 'replace' which changes characters but does not split.
3fill in blank
hard

Fix the error in the code to parse JSON content from a document string.

Prompt Engineering / GenAI
import json
parsed_data = json.[1](content)
Drag options to blanks, or click blank then click option'
Adump
Bload
Cdumps
Dloads
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'load' which reads JSON from a file object, not a string.
Using 'dump' or 'dumps' which write JSON instead of reading.
4fill in blank
hard

Fill both blanks to create a dictionary of word counts from the document.

Prompt Engineering / GenAI
word_counts = {word: content.[1](word) for word in content.[2]()}
Drag options to blanks, or click blank then click option'
Acount
Bsplit
Clower
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'lower' instead of 'split' to get words.
Using 'replace' which changes text but does not split or count.
5fill in blank
hard

Fill all three blanks to filter sentences containing a keyword and count them.

Prompt Engineering / GenAI
keyword = 'AI'
filtered = [sentence for sentence in content.[1]('.') if [2] in sentence.[3]()] 
count = len(filtered)
Drag options to blanks, or click blank then click option'
Asplit
Bkeyword
Clower
Dreplace
Attempts:
3 left
💡 Hint
Common Mistakes
Not converting sentences to lowercase before checking keyword.
Using 'replace' instead of 'split' to get sentences.

Practice

(1/5)
1. What is the main purpose of document loading in AI projects?
easy
A. To clean the data by removing errors
B. To train the AI model with labeled data
C. To visualize the results of the AI model
D. To read text files so the computer can access their content

Solution

  1. Step 1: Understand document loading

    Document loading means reading text files so the computer can access the content inside.
  2. Step 2: Differentiate from other tasks

    Training models, visualization, and cleaning are different steps after loading the document.
  3. Final Answer:

    To read text files so the computer can access their content -> Option D
  4. Quick Check:

    Document loading = reading files [OK]
Hint: Loading means reading files into the computer [OK]
Common Mistakes:
  • Confusing loading with training the model
  • Thinking loading cleans the data
  • Mixing loading with visualization
2. Which Python code snippet correctly loads a text file named data.txt into a string variable?
easy
A. with open('data.txt', 'x') as file: text = file.read()
B. file = open('data.txt', 'w') text = file.read()
C. with open('data.txt', 'r') as file: text = file.read()
D. text = open('data.txt').write()

Solution

  1. Step 1: Check file mode for reading

    Mode 'r' opens the file for reading, which is needed to load text.
  2. Step 2: Use context manager and read method

    Using with open(...) ensures safe file handling, and file.read() reads all content.
  3. Final Answer:

    with open('data.txt', 'r') as file: text = file.read() -> Option C
  4. Quick Check:

    Open with 'r' and read() = correct loading [OK]
Hint: Use 'r' mode and read() to load text files [OK]
Common Mistakes:
  • Using 'w' mode which is for writing, not reading
  • Calling write() instead of read()
  • Using 'x' mode which is for creating new files
3. What will be the output of this Python code that parses a loaded text?
text = "Hello world! Welcome to AI."
words = text.split()
print(words)
medium
A. ['Hello', 'world', 'Welcome', 'to', 'AI']
B. ['Hello', 'world!', 'Welcome', 'to', 'AI.']
C. ['Hello world! Welcome to AI.']
D. ['H', 'e', 'l', 'l', 'o']

Solution

  1. Step 1: Understand split() method

    The split() method splits the string by spaces into a list of words, keeping punctuation attached.
  2. Step 2: Apply split() to the text

    Splitting "Hello world! Welcome to AI." results in ['Hello', 'world!', 'Welcome', 'to', 'AI.'] including punctuation.
  3. Final Answer:

    ['Hello', 'world!', 'Welcome', 'to', 'AI.'] -> Option B
  4. Quick Check:

    split() by space keeps punctuation attached [OK]
Hint: split() breaks text by spaces, punctuation stays [OK]
Common Mistakes:
  • Expecting punctuation to be removed automatically
  • Thinking split() returns a single string list
  • Confusing split() with list(text) which splits characters
4. Identify the error in this code that tries to parse a document into sentences:
text = "AI is fun. Let's learn it."
sentences = text.split('. ')
print(sentences)
medium
A. The split delimiter '. ' misses the last sentence ending
B. The code should use splitlines() instead of split()
C. The print statement is missing parentheses
D. The variable name 'sentences' is invalid

Solution

  1. Step 1: Analyze split delimiter usage

    Splitting by '. ' splits sentences but leaves the last sentence without a trailing '. ' unseparated.
  2. Step 2: Understand effect on last sentence

    The last sentence "Let's learn it." remains attached with the period, causing inconsistent splitting.
  3. Final Answer:

    The split delimiter '. ' misses the last sentence ending -> Option A
  4. Quick Check:

    Splitting by '. ' misses last sentence split [OK]
Hint: Splitting by '. ' misses last sentence if no trailing space [OK]
Common Mistakes:
  • Thinking splitlines() splits sentences
  • Forgetting print() needs parentheses in Python 3
  • Assuming variable names cause errors
5. You have a text file with multiple paragraphs separated by blank lines. Which approach best loads and parses it into a list of paragraphs for AI processing?
hard
A. Read the file, split text by double newlines '\n\n', then strip whitespace from each paragraph
B. Read the file line by line and treat each line as a paragraph
C. Use split() to split by single spaces to get paragraphs
D. Load the file and convert all text to uppercase without splitting

Solution

  1. Step 1: Understand paragraph separation

    Paragraphs are separated by blank lines, which means two newline characters '\n\n'.
  2. Step 2: Parse paragraphs correctly

    Splitting by '\n\n' divides text into paragraphs; stripping whitespace cleans each paragraph.
  3. Final Answer:

    Read the file, split text by double newlines '\n\n', then strip whitespace from each paragraph -> Option A
  4. Quick Check:

    Split by '\n\n' for paragraphs [OK]
Hint: Paragraphs split by double newlines '\n\n' [OK]
Common Mistakes:
  • Splitting by single spaces splits words, not paragraphs
  • Treating each line as a paragraph loses multi-line paragraphs
  • Ignoring whitespace cleanup after splitting