Skip to content

Quiz: Chapter 7 :Python Data Structures (Python for Everybody Specialization) Answers 2025

  1. Given the architecture… where are files stored?
    ❌ Central Processor
    ❌ Main Memory
    ❌ Motherboard
    Secondary memory

Explanation: Files live on secondary storage (disk/SSD)—persistent storage outside RAM.


  1. What is stored in a “file handle” returned from open()?
    ❌ The handle has a list of all files in a folder
    ❌ All the file data is read into the handle
    The handle is a connection to the file’s data
    ❌ The handle contains the first 10 lines of a file

Explanation: A file handle (file object) is a reference/connection you use to read from or write to the file; it does not contain the whole file automatically.


  1. What do we use the second parameter of open() to indicate?
    ❌ How large we expect the file to be
    ❌ List of folders to search
    Whether we want to read data from the file or write data to the file
    ❌ What disk drive the file is stored on

Explanation: The mode string ('r', 'w', 'a', 'rb', etc.) tells Python whether to read, write, append, binary, etc.


  1. Which Python function prompts the user for a file name to open?
    ❌ file_input()
    ❌ cin
    ❌ read()
    input()

Explanation: input() reads a line from the user (a filename string you can pass to open()).


  1. Purpose of the newline character in text files?
    It indicates the end of one line of text and the beginning of another line of text
    ❌ It allows synchronized reading of multiple files
    ❌ It adds a new network connection
    ❌ It enables random movement throughout the file

Explanation: \n marks line boundaries in plain text files.


  1. If xfile = open('mbox.txt'), what statement reads the file one line at a time?
    while (<xfile>) {
    while ((line = xfile.readLine()) != null) {
    while line = xfile.gets
    for line in xfile:

Explanation: In Python the idiomatic way is for line in fhandle: to iterate line-by-line lazily.


  1. Purpose of this code that counts x = x + 1 in a loop over fhand:
    ❌ Convert lines to lower case
    ❌ Remove leading/trailing spaces
    Count the lines in the file ‘mbox.txt’
    ❌ Reverse the order of the lines

Explanation: The code increments a counter for each line read—so it counts lines.


  1. If you see extra blank lines when printing file lines, which function likely solves it?
    ❌ split()
    ❌ trim()
    rstrip()
    ❌ ljust()

Explanation: Printed lines already include the trailing \n; print() adds another newline. Use line.rstrip() to remove the trailing newline (and other trailing whitespace) before printing.


  1. How to avoid traceback when open(fname) fails on bad filename?
    ❌ signal handlers
    ❌ setjmp / longjmp
    ❌ try / catch / finally
    try / except

Explanation: Wrap open() in try: and handle except FileNotFoundError: (or generic except:) to print a friendly error instead of trace.


  1. What does fhand.read() do?
    Reads the entire file into the variable inp as a string
    ❌ Turns text into a graphic image
    ❌ Prompts the user for a file name
    ❌ Checks if file exists and can be written

Explanation: .read() returns the whole file contents as one string (beware memory for large files).


🧾 Summary Table

Q Correct answer (short) Key concept
1 Secondary memory Files persist on disk/SSD (not RAM)
2 File handle = connection File object used to read/write, not full contents
3 Mode (read/write) open(filename, mode) selects read/write/append
4 input() Get filename string from user
5 newline marks line breaks \n separates lines in text files
6 for line in xfile: Iterate file line-by-line
7 Count lines Increment counter per line read
8 rstrip() Remove trailing \n to avoid double blank lines
9 try / except Catch open() errors, print custom message
10 fhand.read() reads entire file Returns full file as one string