Module 4: Python in Practice

Q: What are the three types of errors you will encounter while debugging?

  • Syntax errors, exceptions, and comment errors
  • Exceptions, logic errors, iterative errors
  • Syntax errors, logic errors, and exceptions 
  • Logic errors, comment errors, and iterative errors
Explanation: Syntax errors are mistakes that occur when the code does not adhere to the rules of syntax that are associated with the programming language. These errors are often discovered by the interpreter or compiler before the code is executed. Mistakes in logic arise when the code does not carry out the operation that was meant to be performed and may cause wrong results; the interpreter and compiler may not catch these mistakes while they are occurring. During the execution of a program, exceptions may arise when something unexpected or incorrect occurs (for example, division by zero or accessing an out-of-bounds index). Exceptions can be managed by utilizing try-except blocks. It is possible to handle exceptions.

Q: The purpose of the following code is to print the characters in a device ID. Run this code, analyze its output, and then debug it. (If you want to undo your changes to the code, you can click the Reset button.)

Coursera img

What is the error related to?

Coursera img

  • A misspelled variable
  • A missing colon (:)
  • A missing quotation mark (“) 
  • A missing double equals sign (==)
Explanation: In Python, the syntax for a for loop needs a colon: at the end of the line that initiates the loop. This makes the for-loop syntax mandatory. Through the use of this colon, the beginning of the indented block of code that will be carried out throughout each iteration of the loop is indicated. 

Q: Why might you use print statements when debugging code?

  • To prevent errors from occurring
  • To create error messages
  • To identify which sections of the code are working properly 
  • To add missing syntax to the code
Explanation: During the process of executing a program, print statements are required to output certain values or messages to the console or terminal. You will be able to monitor the values and behavior of the variables at the time that the program is running if you strategically place print statements throughout your code, particularly around crucial portions or variables. By doing so, you can test whether or not certain sections of your code are being executed properly, determine whether or not variables are holding the required values, and track the flow of execution.

Q: What does the following code do?

logins = "pwashing jhill tshah"

usernames = logins.split()

  • Removes the last username in the logins variable and stores the string in the usernames variable
  • Removes the blank spaces that split the usernames in the variable logins and stores the string in the variable usernames
  • Splits a string variable called logins into single characters
  • Splits a string variable called logins into a list of strings and stores it in the variable usernames 
Explanation: Python has a function called split() that may be used to divide a string into a list, with each member being a substring of the original text that is separated by whitespace (which can include spaces, tabs, newlines, and so on).When the logins.split() function is called, it analyzes the text "pwashing jhill tshah" for whitespace characters and then saves the substrings that are produced as entries in the list that is associated with the variable usernames. These substrings are pwashing, jhill, and tshah.

Q: What is the process of converting data into a more readable format?

  • Slicing
  • Debugging
  • Splitting
  • Parsing 
Explanation: A process known as "parsing" includes converting raw data, which may be in a format that is difficult to read by humans (for example, binary or structured data), into a format that is more easily comprehensible or useable by a computer program or a person. Extraction of pertinent information, interpretation of that information under certain rules or formats, and presentation of that information in a way that is both clear and orderly are often required for this.

Q: What does the following code do?

read_text = text.read()

  • Reads the string text and stores it the file read_text
  • Replaces the contents of the file read_text with the contents of the file text
  • Reads the text variable, which contains a file, and stores it as a string in read_text 
  • Splits the text variable, which contains a string, and stores it as a list in read_text
Explanation: When working with Python, it is common practice to presume that text is a file object that is retrieved by opening a file in read mode ('r').This function, known as text. read(), is responsible for reading the whole contents of the file that is connected with the text file object.

Q: You want to check for unusual login activity. Specifically, you want to read a log file that contains information on each login attempt, including whether it failed or was successful. You should then parse the data into a logins list, and then you should separate all failed log entries into a separate failed_logins list. If you want to automate this through Python, what would be part of your code? Select three answers.

  • A for loop to iterate through all items in the logins list 
  • A split() function to split the login information into a list 
  • An if statement to check if a login attempt failed 
  • A counter variable to keep track of the number of failed logins
Explanation: Using the log file as a source, this loop would run over each potential login attempt.You would use an if statement inside the loop to determine whether or not a given login attempt signals failure based on certain criteria (for example, specific keywords such as "failed").It is possible to utilize this method to further simplify the processing of the log file by dividing each line into its component parts, such as the date, the username, and the status.

Q: The purpose of the following code is to iterate through a list and print a warning message if it finds “user3” in the list. Run this code, analyze its output, and debug it. (If you want to undo your changes to the code, you can click the Reset button.)

Coursera img

  • Change “user3” to “user1” in the conditional.
  • Change the != operator to the == operator in the conditional.
  • Change “user3” to “user2” in the conditional.
  • Change the indentation so that the line that prints the warning is not indented.
Explanation: As a result of this modification, the condition that checks if the current item in the list is equivalent to "user1"

Q: When debugging code, what are effective ways to determine which sections of code are working properly? Select all that apply.

  • Use a debugger 
  • Add print statements
  • Delete blank lines from the code
  • Add comments in the code
Explanation: Debuggers provide you the ability to examine variables, go through your code line by line, and monitor the flow of execution. The identification of potential problem areas and the verification of proper execution are both facilitated by this. Printing out the values of variables, intermediate outcomes, or messages at critical points in your code might assist you in comprehending the flow of your code and locating the places where problems become apparent.

Q: What does the following code do?

with open("logs.txt", "r") as file:

  • It opens a file called “logs.txt” in write mode and stores it in a variable called file.
  • It opens a file called “logs.txt” in read mode and stores it in a variable called file. 
  • It copies a file called “r” into a new file “logs.txt”.
  • It copies a file called “logs.txt” into a new file “r”.
Explanation: Open("logs.txt", "r") as file is a piece of code that opens a file with the name "logs.txt" in read mode ("r") and assigns the file object to a variable that is also called file. It is possible to read the contents of the file while it is in the "r" mode.

Q: You’ve read a log file into the variable file_text. The file_text variable contains a string of 50 usernames of employees at your company. In order to pass it into a function that checks the login count of each user, the string should be divided into a list of separate usernames. How do you convert this string into a list and store it in a variable usernames?

  • usernames = split(usernames, file_text)
  • usernames = file_text.split() 
  • usernames = usernames.split(file_text)
  • file_text.split() as usernames
Explanation: The function file_text.split() divides the string value of the file_text variable by whitespace, which includes newlines, tabs, and spaces, and then produces a list in which each element represents a unique username.

Q: After you’ve opened a log file as file, which line of code will help you read the file into a variable called text?

  • text = read(file)
  • text = read(file, “r”)
  • text.read(file)
  • text = file.read()
Explanation: When you use the file.read() function, it reads the complete contents of the file that is connected with the file object and returns it as a string. You can then assign this string to the variable text

Q: You want to check for unusual login activity. Specifically, you want to check if there were more than three failed login attempts in the last 10 minutes by the last user who logged in. If you want to automate this through Python, what would be part of your code? Select three answers.

  • An if statement that checks if there were more than three failed login attempts 
  • A counter variable that increments when a failed login is detected 
  • A for loop that iterates through the list of logins 
  • A line of code that reassigns a counter variable to 0 if there is a failed login attempt
Explanation: The purpose of this if statement is to determine the number of unsuccessful tries to log in and then compare that number to a predetermined threshold, such as three. The value of this counter variable would rise each time an unsuccessful attempt to log in is identified. Using this for loop, you would be able to verify each login attempt by iterating over the logins. This would provide you the ability to monitor the time and result of each login attempt.

Q: What is debugging?

  • The practice of identifying and fixing errors in code. 
  • The practice of calling a function from multiple places in a larger program
  • The practice of improving code readability.
  • The practice of improving code efficiency.
Explanation: Debugging is the process of recognizing and correcting problems that are present in computer code. Finding and fixing problems that prevent the code from executing successfully or providing the anticipated result is a part of this process. 

Q: You did not define a function before calling it. What type of error is this?

  • Index out of bounds
  • Syntax error
  • Logic error
  • Exception 
Explanation: The problem that has been described, which occurs when a function is called before it has been created, is often classified as a NameError or an Exception in Python, both of which are associated with undefined names or variables. This is because Python must be aware of the function for it to be able to execute it. It is also because calling the function before it has been defined causes Python to not recognize the function name at the time of the call.

Q: The logins variable is a string containing 20 device IDs. The device IDs are separated by spaces. In order to pass it into a function that checks the login count of each device, the string should be divided into a list of separate IDs. How do you convert this string into a list and store it in a device_ids variable?

  • device_ids = split(device_ids, logins)
  • device_ids = logins.split() 
  • logins.split() as device_ids
  • device_ids = device_ids.split(logins)
Explanation: It is recommended that you make use of the split() function of strings in Python in order to transform the string logins, which is comprised of device IDs that are separated by spaces, into a list of individual IDs and then store this list in a variable called device_ids. 

Q: Fill in the blank: If you use the .split() method to convert a string into a list so that it can be read more easily, this would be an example of _____.

  • slicing
  • dividing
  • parsing (CORRECT)
  • debugging
Explanation: It is true! As an example of parsing, consider the use of the. split() function to transform a string into a list to facilitate its processing more straightforwardly. To facilitate simpler manipulation or analysis, parsing is the process of dividing a complicated data structure, such as a string, into smaller, more manageable portions, such as a list.

Q: What does the following code do?

new_format = old_format.read()

  • Inserts the string stored in the new_format variable into the file stored in the old_format variable
  • Reads the old_format variable, which contains a file, and stores it as a string in new_format 
  • Prints the contents of old_format
  • Detects certain text patterns in old_format
Explanation: Reading the contents of the file object that is kept in the variable old_format and storing them as a string in the variable new_format is what this technique does.

Q: The purpose of the following code is to search a list. Run this code, analyze its output, and then debug it. (If you want to undo your changes to the code, you can click the Reset button.)

Coursera img

What is the error related to?

Coursera img

  • A missing colon (:) 
  • A missing comma (,)
  • A missing quotation mark (“)
  • A misspelled variable
Explanation: It would seem that I am unable to directly inspect photos or execute certain code. However, if the objective is to search a list and there is an issue, it is likely linked to a misspelled variable or a missing quote mark if working with strings. This is based on the context that you have supplied. Please offer more information.

Q: Which of these functions or arguments should you include in a with statement if you want Python to open a file called access.txt so that it can be read? Select three answers.

  • “access.txt” 
  • read()
  • “r” 
  • open() 

Q: You included username_list[10] in your code, but username_list only contains five elements. What type of error is this?

  • Name error
  • Exception 
  • Syntax error
  • Logic error
Explanation: This happens when you attempt to retrieve an element from a list by using an index that is outside of the range that the list is capable of supporting. Because there is no entry in username_list located at index 10, Python throws an index error in this particular scenario.

Q: If you know there is a logic error somewhere inside a function, how can you figure out the exact location?

  • Delete the function from the program
  • Move the function to another location
  • Place print statements in and around the function 
  • Write comments in and around the function
Explanation: It is possible to print out the intermediate values of variables, function outputs, and flow control messages for a function by strategically putting print statements at various phases inside the function. During the execution of your program, this allows you to view the state of the program, which provides you with insights into areas where the logic may be faulty. To monitor the progression of the function's execution, you may display messages or variable values before and after the crucial operations or decision points that occur inside the function. This gives you the ability to check whether or not the function is operating as anticipated at each stage.

Q: You want to check if a device is running a particular operating system that needs updates. Devices that contain a substring of “i71” in their device ID are running this operating system. First, you want to read in a log file that contains the device ID for all devices and convert it into a string. You should then parse this string into a devices list. Then, you should separate all device IDs that contain the substring “i71” into a separate list called updates_list. If you want to automate this through Python, what would be part of your code? Select three answers.

  • A counter variable to keep track of the number of devices containing the substring “i71”
  • A split() function to split the string containing the information in the log file into a devices list 
  • An if statement that checks if elements in devices contain the substring “i71” 
  • A for loop to iterate through all items in the devices list 
Explanation: In order to determine whether or not the provided substring is present in each device ID in the devices list, this conditional statement performs a check.

 

Post a Comment

Previous Post Next Post