The purpose of this programming assignment is to get experience using recursion to solve a task that requires repetition. This means that you will need to think about the design of a recursive function, including how to determine the base case and the recursive (or inductive) step. The basic design of this program consists of four parts: (1) Prompting the user for information; (2) Accepting information from the user; (3) Recursively processing information from the user; and (4) Displaying output to the user. Specification Imagine that someone needs to calculate how many identical cubes are required to build a pyramid given the number of levels that the pyramid is required to have. A few examples are shown below: 1 level 1 block 2 levels 5 blocks 3 levels 14 blocks 4 levels 30 blocks 5 levels 55 blocks Generally, a pyramid of n levels will require n more blocks than a pyramid ofn - 1 levels. Your program will first prompt the user to enter the number of levels that the pyramid is required to have. You are then going to calculate the number of blocks needed using recursion. Your program will then display the number of blocks needed. Constraints and notes Note the following constraints and notes (see the rubric below for more detail):
The purpose of this programming assignment is to get experience using recursion to solve a task that requires repetition. This means that you will need to think about the design of a recursive function, including how to determine the base case and the recursive (or inductive) step. The basic design of this program consists of four parts: (1) Prompting the user for information; (2) Accepting information from the user; (3) Recursively processing information from the user; and (4) Displaying output to the user. Specification Imagine that someone needs to calculate how many identical cubes are required to build a pyramid given the number of levels that the pyramid is required to have. A few examples are shown below: 1 level 1 block 2 levels 5 blocks 3 levels 14 blocks 4 levels 30 blocks 5 levels 55 blocks Generally, a pyramid of n levels will require n more blocks than a pyramid ofn - 1 levels. Your program will first prompt the user to enter the number of levels that the pyramid is required to have. You are then going to calculate the number of blocks needed using recursion. Your program will then display the number of blocks needed. Constraints and notes Note the following constraints and notes (see the rubric below for more detail):
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
Related questions
Question
![Overview
The purpose of this programming assignment is to get experience using recursion to solve a
task that requires repetition. This means that you will need to think about the design of a
recursive function, including how to determine the base case and the recursive (or
inductive) step. The basic design of this program consists of four parts:
(1) Prompting the user for information;
(2) Accepting information from the user;
(3) Recursively processing information from the user; and
(4) Displaying output to the user.
Specification
Imagine that someone needs to calculate how many identical cubes are required to build a
pyramid given the number of levels that the pyramid is required to have. A few examples are
shown below:
3 levels
14 blocks
1 level
2 levels
5 blocks
4 levels
5 levels
1 block
30 blocks
55 blocks
Generally, a pyramid of n levels will require n more blocks than a pyramid of n - 1 levels.
Your program will first prompt the user to enter the number of levels that the pyramid is
required to have. You are then going to calculate the number of blocks needed using
recursion. Your program will then display the number of blocks needed.
Constraints and notes
Note the following constraints and notes (see the rubric below for more detail):
Rovie ed, 2024 14
10](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F7790832d-a932-49a1-82a9-9429fa66333c%2Fcfcc67fd-de23-44a2-9547-c9caf1169a64%2F5vt2sf_processed.png&w=3840&q=75)
Transcribed Image Text:Overview
The purpose of this programming assignment is to get experience using recursion to solve a
task that requires repetition. This means that you will need to think about the design of a
recursive function, including how to determine the base case and the recursive (or
inductive) step. The basic design of this program consists of four parts:
(1) Prompting the user for information;
(2) Accepting information from the user;
(3) Recursively processing information from the user; and
(4) Displaying output to the user.
Specification
Imagine that someone needs to calculate how many identical cubes are required to build a
pyramid given the number of levels that the pyramid is required to have. A few examples are
shown below:
3 levels
14 blocks
1 level
2 levels
5 blocks
4 levels
5 levels
1 block
30 blocks
55 blocks
Generally, a pyramid of n levels will require n more blocks than a pyramid of n - 1 levels.
Your program will first prompt the user to enter the number of levels that the pyramid is
required to have. You are then going to calculate the number of blocks needed using
recursion. Your program will then display the number of blocks needed.
Constraints and notes
Note the following constraints and notes (see the rubric below for more detail):
Rovie ed, 2024 14
10
![Consider using the provided template since it lays things out nicely;
Your output must be exactly the same as the output of the sample runs shown below
for the specified user inputs;
• You must comment your source code appropriately, include an informative header at
the top, and use good coding style;
• You must use meaningful variable names;
You must not use any iterative repetition constructs (e.g., while loops, etc);
• You must recursively calculate the number of blocks required (i.e., using a recursive
function);
You must correctly output the plurals of the nouns level and block (e.g., 0 blocks, 1
block, 2 blocks, etc; and 0 levels, 1 level, 2 levels, etc); and
• You must handle a negative number of levels as shown in the sample output.
Deliverable
Submit a Python 3 source file that can be executed through an IDE (such as Thonny) or via the
command line (e.g., python3 BlockPyramid.py).
Sample output
Here is some sample output of various runs of a correct solution. Note that values in bold red
are those entered by the user:
Sample 1
How many levels will your pyramid have? 1
For a pyramid of 1 level, you will need 1 block.
Sample 2
How many levels will your pyramid have? 5
For a pyramid of 5 levels, you will need 55 blocks.
Sample 3
How many levels will your pyramid have? 555
For a pyramid of 555 levels, you will need 57138730 blocks.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F7790832d-a932-49a1-82a9-9429fa66333c%2Fcfcc67fd-de23-44a2-9547-c9caf1169a64%2Fpsyll4b_processed.png&w=3840&q=75)
Transcribed Image Text:Consider using the provided template since it lays things out nicely;
Your output must be exactly the same as the output of the sample runs shown below
for the specified user inputs;
• You must comment your source code appropriately, include an informative header at
the top, and use good coding style;
• You must use meaningful variable names;
You must not use any iterative repetition constructs (e.g., while loops, etc);
• You must recursively calculate the number of blocks required (i.e., using a recursive
function);
You must correctly output the plurals of the nouns level and block (e.g., 0 blocks, 1
block, 2 blocks, etc; and 0 levels, 1 level, 2 levels, etc); and
• You must handle a negative number of levels as shown in the sample output.
Deliverable
Submit a Python 3 source file that can be executed through an IDE (such as Thonny) or via the
command line (e.g., python3 BlockPyramid.py).
Sample output
Here is some sample output of various runs of a correct solution. Note that values in bold red
are those entered by the user:
Sample 1
How many levels will your pyramid have? 1
For a pyramid of 1 level, you will need 1 block.
Sample 2
How many levels will your pyramid have? 5
For a pyramid of 5 levels, you will need 55 blocks.
Sample 3
How many levels will your pyramid have? 555
For a pyramid of 555 levels, you will need 57138730 blocks.
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 9 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Recommended textbooks for you
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY