CBSE Class 11 Computer Science Question 36 of 43

Flow of Control — Question 29

Back to all questions
29
Question

Question 24d

Write programs to print the following shapes:

*
* *
*   *
*     *
*   *
* *
*

Solution
n = 4 # number of row

#upper half
for i in range(1, n+1) :
    #while loop for * and spaces
    x = 1
    while x < 2 * i :
        if x == 1 or x == 2 * i - 1 :
            print('*', end = '')
        else :
            print(' ', end = '')
        x += 1
    print()

#lower half
for i in range(n-1, 0, -1) :
    #while loop for * and spaces
    x = 1
    while x < 2 * i :
        if x == 1 or x == 2 * i - 1 :
            print('*', end = '')
        else :
            print(' ', end = '')
        x += 1
    print()
Output
*
* *
*   *
*     *
*   *
* *
*
Answer

n
=
4
# number of row
#upper half
for
i
in
range
(
1
,
n
+
1
) :
#while loop for * and spaces
x
=
1
while
x
<
2
*
i
:
if
x
==
1
or
x
==
2
*
i
-
1
:
print
(
'*'
,
end
=
''
)
else
:
print
(
' '
,
end
=
''
)
x
+=
1
print
()
#lower half
for
i
in
range
(
n
-
1
,
0
,
-
1
) :
#while loop for * and spaces
x
=
1
while
x
<
2
*
i
:
if
x
==
1
or
x
==
2
*
i
-
1
:
print
(
'*'
,
end
=
''
)
else
:
print
(
' '
,
end
=
''
)
x
+=
1
print
()
Output
*
* *
* *
* *
* *
* *
*