How to create an E-shape using a nested loop in Python
Overview
Nested loops in python simply mean a loop added into another loop.
In this shot, we want to briefly illustrate how we can easily generate an E shape using a nested loop in python. Now imagine you want to return an output with a shape of ‘E’ like the one shown below:
xxxxxxx
xx
xxxxxxx
xx
xxxxxxx
Normally, this is a simple thing to do in python with few line of code like the one below:
Code
numbers =[7, 2, 7, 2, 7]for x_item in numbers:print('x' * x_item)
- Line 1: We created a list of numbers.
- Line 2: We created a for loop to iterate over each items in the list using a variable
x_item. - Line 3: We printed the output which contains each of the items in the list starting with the first item
7multiplied byx. This simply means that we will have sevenx's on the first line. On the second line we will have twox's and this continues till the last item of the list. This is a very simple way to create an E shape in python, however, this is a cheat.
Python allows the multiplication of a number to a string in order to repeat the string. A lot of other programming languages does not support this feature.
Using a nested loop
What we want to achieve here is to use a nested loop to create exactly what we had as an output in the previous code.
Code
numbers =[7, 2, 7, 2, 7]for x_item in numbers:output=''for count in range(x_item):output += 'x'print(output)
Explanation
- Line 1: We created a list of numbers.
- Line 2: We created a for loop to iterate over each items in the list using a variable
x_item. - Line 3: We defined a variable
outputand initially we set it as an empty string. - Line 4: We created an inner loop using the
range()function to generate a sequence of numbers starting from0tox_item. So in the first iteration,x_itemis7, so the range of7will generate the numbers0,1,2,3,4,5, and6; meaning that this inner loop will be executed seven times and that is exactly whatx_itemrepresents. - Line 5: From the iteration in line
4, we need to append anxto ouroutputvariable. - Line 6: We printed the output. Meaning that for the first iteration, we simply print our seven
x’s on the first row, then we go to the second iteration of our outer loop in line2, herex_itemis2. Now back to line3, since we set theouputvariable to an empty string, python goes over to our inner loop where it will append twox’s (the value ofx_itemis2) to theoutputvariable and then print.