Page 256 - Computer Science Class 11 With Functions
P. 256
10.7 Printing Patterns
In this section, we will learn to display some nice patterns. We begin with a right triangle of asterisks.
Right Triangle
A right triangle has one symbol in the first row, two in the second row, three in the third row, and so on. A function to
print such a triangle will only require two parameters, the number of rows (say, nRows) and the symbol (say, symbol)
to be used in the pattern (see program 10.11).
Program 10.11 Write a function rtTriangle(nRows, symbol) to display the right triangular pattern of a symbol.
01 def rtTriangle(nRows, symbol):
02 '''
03 Objective: To display the right triangular pattern of a symbol
04 Inputs:
05 nRows : number of rows
06 symbol: symbol to be printed
07 Return value: None
08 '''
09 for i in range(1, nRows + 1):
10 for j in range(1, i + 1):
11 print(symbol, end = '')
12 print()
13 rtTriangle(5, '*')
Sample Output:
*
**
***
****
*****
Even though program 10.11 shows how to use nested for-statements, there was a simpler way to do it using the
repetition operator *. Recall that the expression symbol*i yields a string of length i. So, using the repetition operator,
program 10.11 may be rewritten as program 10.12.
Program 10.12 To display the right triangular pattern of a symbol using string.
01 def rtTriangle(nRows, symbol):
02 '''
03 Objective: To display the right triangular pattern of a symbol
04 Inputs:
05 nRows : number of rows
06 symbol: symbol to be printed
07 Return value: None
08 '''
09 for i in range(1, nRows + 1):
10 print(symbol*i)
11 print()
Inverted isosceles Triangle
Next, let us write a function to print an inverted isosceles triangle using a given symbol (say, symbol). Fig 10.6 shows
an inverted isosceles triangle comprising six rows using asterisks. Note that the first row does not have any leading
spaces, the 2nd row has one leading space, 3rd row has two leading spaces, and so on. Finally, the last row (6th
row) has 5 (=6-1) spaces. Thus, beginning with zero leading spaces in the first row, the number of leading spaces
(say, nSpaces) increases by one in each following row. Furthermore, the first row has 11 (=6×2-1) asterisks, the
second row has 9 asterisks, and so on. Finally, the sixth row has one asterisk. Thus, beginning with 2×nRows-1 asterisks
in the first row, the number of asterisks (say, nSymbols) decreases by two in each following row. We incorporate
these details into the function invertedIsoTriangle(nRows, symbol).
254 Touchpad Computer Science-XI

