main.py 1 def kilo_to_pounds (kilos): # This statement intentionally has an error. return (kilos / 2.284) 2 3 4 5 6 if _name _main_': 7 kilos - float(input()); 8 pounds = kilo_to_pounds(kilos); print(pounds, "lbs"); 9 10

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

6.31 Lab training: Unit tests to evaluate your program

 

Auto-graded programming assignments may use a Unit test to test small parts of a program. Unlike a Compare output test, which evaluates your program's output for specific input values, a Unit test evaluates individual functions to determines if each function:

  • is named correctly and has the correct parameters and return type
  • calculates and returns the correct value (or prints the correct output)

In Python labs, the line if __name__ == '__main__': is used to separate the main code from the functions' code so that each function can be unit tested.

This example lab uses multiple unit tests to test the kilo_to_pounds() function.

Complete a program that takes a weight in kilograms as input, converts the weight to pounds, and then outputs the weight in pounds. 1 kilogram = 2.204 pounds (lbs).

Ex: If the input is:

10

the output is:

22.040000000000003 lbs

Note: Your program must define the function
def kilo_to_pounds(kilos)

The program below has an error in the kilo_to_pounds() function.

  1. Try submitting the program for grading (click "Submit mode", then "Submit for grading"). Notice that the first two test cases fail, but the third test case passes. The first test case fails because the program outputs the result from the kilo_to_pounds() function, which has an error. The second test case uses a Unit test to test the kilo_to_pounds() function, which fails.

  2. Change the kilo_to_pounds() function to multiply the variable kilos by 2.204, instead of dividing. The return statement should be: return (kilos * 2.204); Submit again. Now the test cases should all pass.

Note: A common error is to mistype a function name with the incorrect capitalization. Function names are case sensitive, so if a lab program asks for a kilo_to_pounds() function, a kilo_To_Pounds() function that works for you in develop mode will result in a failed unit test (the unit test will not be able to find kilo_to_pounds()).

Use Python, please.

### Section: Programming Lab - Unit Testing

#### Exercise: Kilo to Pounds Conversion

This programming exercise is part of a lab activity focused on unit testing to evaluate your program's correctness. The task involves creating a function that converts kilograms to pounds.

#### Code Overview:

```python
def kilo_to_pounds(kilos):
    # This statement intentionally has an error.
    return (kilos / 2.204)
    
if __name__ == '__main__':
    kilos = float(input())
    
    pounds = kilo_to_pounds(kilos);
    print(pounds, "lbs");
```

##### Explanation:
1. **Function Definition:**
   - The function `kilo_to_pounds` is defined to take one parameter, `kilos`, which represents the weight in kilograms.
   - Inside the function, there is a return statement designed to convert kilograms to pounds. However, there's an intentional error in the conversion multiplier.

2. **Main Program Execution:**
   - It checks if the script is executed as the main program.
   - It takes user input for the weight in kilograms, converting the input to a floating-point number.
   - The `kilo_to_pounds` function is called with the input value, and the result is stored in the variable `pounds`.
   - The program prints the converted weight followed by "lbs" to indicate pounds.

#### Notes:
- **Intentional Error:** The conversion factor used in the function is incorrect for converting kilograms to pounds (the correct multiplier should be approximately 2.20462).
- **Task Objective:** Identify and correct the logical error to accurately perform the conversion.

This lab activity is designed to teach students how to identify errors in code and apply unit testing techniques to ensure correctness and reliability of the implemented functionality.
Transcribed Image Text:### Section: Programming Lab - Unit Testing #### Exercise: Kilo to Pounds Conversion This programming exercise is part of a lab activity focused on unit testing to evaluate your program's correctness. The task involves creating a function that converts kilograms to pounds. #### Code Overview: ```python def kilo_to_pounds(kilos): # This statement intentionally has an error. return (kilos / 2.204) if __name__ == '__main__': kilos = float(input()) pounds = kilo_to_pounds(kilos); print(pounds, "lbs"); ``` ##### Explanation: 1. **Function Definition:** - The function `kilo_to_pounds` is defined to take one parameter, `kilos`, which represents the weight in kilograms. - Inside the function, there is a return statement designed to convert kilograms to pounds. However, there's an intentional error in the conversion multiplier. 2. **Main Program Execution:** - It checks if the script is executed as the main program. - It takes user input for the weight in kilograms, converting the input to a floating-point number. - The `kilo_to_pounds` function is called with the input value, and the result is stored in the variable `pounds`. - The program prints the converted weight followed by "lbs" to indicate pounds. #### Notes: - **Intentional Error:** The conversion factor used in the function is incorrect for converting kilograms to pounds (the correct multiplier should be approximately 2.20462). - **Task Objective:** Identify and correct the logical error to accurately perform the conversion. This lab activity is designed to teach students how to identify errors in code and apply unit testing techniques to ensure correctness and reliability of the implemented functionality.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Program on Numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education