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
   251   252   253   254   255   256   257   258   259   260   261