COMP9021 Principles of Programming

123 阅读2分钟

COMP9021 Principles of Programming 
Term 2, 2024 
Coding Quiz 5 
Worth 4 marks and due Week 8 Thursday @ 9pm 

Description 
You are provided with a stub in which you need to insert your code where indicated without doing any 
changes to the existing code to complete the task. Although it is not needed for this quiz, you may import 
any extra module that is already installed in Ed if you wish. 
The program randomly generates a grid with 0s and 1s, whose dimension is controlled by user input, as 
well as the density of 1s in the grid, and finds out for a given step_number ≥ 1 and a given step_size ≥ 2, 
the number of stairs of step_number many steps, with all steps of size step_size. 
A stair of 1 step of size 2 is of the form: 
1 1 
1 1 
A stair of 2 steps of size 2 is of the form 
1 1 
1 1 
1 1 
A stair of 1 step of size 3 is of the form 
1 1 1 

1 1 1 
A stair of 2 steps of size 3 is of the form 
1 1 1 

1 1 1 

1 1 1 



The output lists the number of stairs from smallest step sizes to largest step sizes, and for a given step size, 
from stairs with the smallest number of steps to stairs with the largest number of stairs. 
Your task is to implement the function called stairs_in_grid(). 
You may possibly define other functions. 
The provided stub and the outputs of the sample test cases explain the task to be performed. 

Marking 
stairs_in_grid() 4 marks 
------------------------------------ 
Total 4 marks 


Due Date and Submission 
Quiz 5 is due Week 8 Thursday 18 July 2024 @ 9.00pm (Sydney time). 
Note that late submission with 5% penalty per day is allowed up to 3 days from the 代 写COMP9021 Principles of Programming due date, that is, any 
late submission after Week 8 Sunday 21 July 2024 @ 9pm will be discarded. 
Make sure not to change the filename quiz_5.py while submitting by clicking on [Mark] button in Ed. 
It is your responsibility to check that your submission did go through properly using Submissions link in Ed 
otherwise your mark will be zero for Quiz 5. 




Test Cases 

pythonquiz5.py Enterthreepositiveintegers:012 Hereisthegridthathasbeengenerated:  11  01   python quiz_5.py  Enter three positive integers: 0 1 2  Here is the grid that has been generated:   1 1   0 1      python quiz_5.py 
Enter three positive integers: 0 1 3 
Here is the grid that has been generated: 
1 1 0 
1 1 1 
1 1 1 

For steps of size 2, we have: 
2 stairs with 1 step 


pythonquiz5.py Enterthreepositiveintegers:039 Hereisthegridthathasbeengenerated:  110111111  111101110  011011111  110001011  110111110  011011011  110111111  101100110  011111111  Forstepsofsize2,wehave:  5stairswith1step  1stairwith2steps  1stairwith3steps  1stairwith4steps  Forstepsofsize3,wehave:  4stairswith1step   4   python quiz_5.py  Enter three positive integers: 0 3 9  Here is the grid that has been generated:   1 1 0 1 1 1 1 1 1   1 1 1 1 0 1 1 1 0   0 1 1 0 1 1 1 1 1   1 1 0 0 0 1 0 1 1   1 1 0 1 1 1 1 1 0   0 1 1 0 1 1 0 1 1   1 1 0 1 1 1 1 1 1   1 0 1 1 0 0 1 1 0   0 1 1 1 1 1 1 1 1    For steps of size 2, we have:   5 stairs with 1 step   1 stair with 2 steps   1 stair with 3 steps   1 stair with 4 steps    For steps of size 3, we have:   4 stairs with 1 step     4      python quiz_5.py 
Enter three positive integers: 0 3 7 
Here is the grid that has been generated: 
1 1 0 1 1 1 1 
1 1 1 1 1 1 0 
1 1 1 0 0 1 1 
0 1 1 1 1 1 1 
1 0 0 0 1 0 1 
1 1 1 0 1 1 1 
1 1 0 0 1 1 0 

For steps of size 2, we have: 
2 stairs with 1 step 
2 stairs with 2 steps 

For steps of size 3, we have: 
1 stair with 2 steps 


pythonquiz5.py Enterthreepositiveintegers:048 Hereisthegridthathasbeengenerated:  11011111  11111111  01111110  01110111  11111110  10010111  11011111  11001110  Forstepsofsize2,wehave:  7stairswith1step  3stairswith2steps  2stairswith3steps  Forstepsofsize3,wehave:  2stairswith1step  1stairwith2steps  Forstepsofsize4,wehave:  1stairwith1step   5   python quiz_5.py  Enter three positive integers: 0 4 8  Here is the grid that has been generated:   1 1 0 1 1 1 1 1   1 1 1 1 1 1 1 1   0 1 1 1 1 1 1 0   0 1 1 1 0 1 1 1   1 1 1 1 1 1 1 0   1 0 0 1 0 1 1 1   1 1 0 1 1 1 1 1   1 1 0 0 1 1 1 0    For steps of size 2, we have:   7 stairs with 1 step   3 stairs with 2 steps   2 stairs with 3 steps    For steps of size 3, we have:   2 stairs with 1 step   1 stair with 2 steps    For steps of size 4, we have:   1 stair with 1 step     5      python quiz_5.py 
Enter three positive integers: 0 5 9 
Here is the grid that has been generated: 
1 1 0 1 1 1 1 1 1 
1 1 1 1 1 1 1 0 1 
1 1 1 1 1 1 0 1 0 
1 1 1 1 0 1 1 1 1 
1 1 1 1 1 1 1 0 1 
0 0 1 1 1 1 1 0 1 
1 1 1 1 1 1 0 1 1 
1 1 1 1 1 0 0 1 1 
1 0 1 1 1 1 0 1 1 

For steps of size 2, we have: 
4 stairs with 1 step 
5 stairs with 2 steps 
1 stair with 3 steps 
2 stairs with 4 steps 

For steps of size 3, we have: 
9 stairs with 1 step 

For steps of size 4, we have: 
2 stairs with 1 step 





Some Test Cases Explained 

pythonquiz5.py Enterthreepositiveintegers:013 Hereisthegridthathasbeengenerated:  110  111  111  Forstepsofsize2,wehave:  2stairswith1step python quiz_5.py  Enter three positive integers: 0 1 3  Here is the grid that has been generated:   1 1 0   1 1 1   1 1 1    For steps of size 2, we have:   2 stairs with 1 step  python quiz_5.py 
Enter three positive integers: 0 3 9 
Here is the grid that has been generated:

WX:codinghelp