Calculate the cost of a carpet.
Select the button below to open the Python program in a new window. Run the program and read the lines of code to see if you can understand how it works. It will be helpful to arrange your display so that you can have this browser window on one side of the screen and the code on the other.
Watch this video to learn about the new concepts shown in the program:
Questions to think about with this program to check your understanding:
Explain the purpose of the int command in lines 15, 16 and 17.
“int” is a function that converts the input from the keyboard that will always be text, known as a “string” into a whole number, known as an “integer” so that it can be used for mathematical calculations. This is known as “casting”.
Explain why a subprogram was used in lines 6-10 instead of writing the code from line 19 onwards.
Breaking a program down into subprograms is called decomposition. It makes it easier to write different parts of the program a step at a time. It is easier to read the code. It allows a section of code to be resused more easily.
The cost of the grippers are 50p per metre around the perimeter of the room which is why we can add the length to the width to calculater their total price.
Change the program below so that it:
Enter the width of the room to nearest meter: 2
Enter the length of the room to nearest meter: 3
Enter the price of the carpet per m2: 2
The total cost is: £ 79.0
Use these resources to learn about new commands for this level and to help you meet the success criteria.
x = int(y)
Casts (changes) the string y into an integer x. Integers are whole numbers, positive, negative or zero.
x = float(y)
Casts (changes) y into a decimal x. Decimals are also called floats or real numbers.
x = input(y)
Assigns x to be an input from the keyboard using prompt y.
return x
Returns the value x from a subprogram so that it can be used elsewhere in the program.
Mathematical operators: + add – subtract * multiply / divide.
The concatenator `,` joins strings and variables into a single output. E.g. `print(“Hello”, “World”)` You can also use `+` if you don’t want a space between each piece of data.
Run the unit tests below to check that your program has met the success criteria.
Width of the room: 2
Length of the room: 3
Price of the carpet: 2
The total cost is: £ 79.0