Loops and Iterations in Python -CL6

Python Loops and Iterations


Python Learning Road Map from Beginners to Advance


Loops are used to execute a block of code repeatedly until a certain condition is met. There are two types of loops in Python: for loop and while loop. In the previous post, we already discussed details about Python if-else, for loop, and while loop including video examples from different expert YouTubers. 

For loop:

The for loop in Python is used to iterate over a sequence (such as a list, tuple, string, or dictionary) and execute a block of code for each item in the sequence. The general syntax for a for loop is as follows:
python
for variable in sequence: # Code to execute for each item in the sequence

Here, the variable is a variable name that represents each item in the sequence as the loop iterates through it. the sequence is the sequence that the loop iterates over. The code block following the for statement is indented and contains the code to be executed for each item in the sequence.

For example, the following for loop prints the elements of a list:
python
fruits = ['apple', 'banana', 'cherry'] for fruit in fruits: print(fruit)

Output:
apple banana cherry

If-else and for Loop Example

Here's an example of how an if-else statement and a for loop can be used together in Python for beginners:
python
# A program to print the even and odd numbers in a list of integers numbers = [2, 3, 7, 10, 11, 14, 15] # Loop through the list of numbers for number in numbers: # Check if the number is even if number % 2 == 0: print(number, "is even") # If the number is not even, it must be odd else: print(number, "is odd")

In this example, we have a list of integers called numbers. We use a for loop to iterate through the list and check if each number is even or odd using an if-else statement. If the number is even (i.e., its remainder when divided by 2 is 0), the program prints a message indicating that the number is even. Otherwise, the program prints a message indicating that the number is odd.

Output:
2 is even 3 is odd 7 is odd 10 is even 11 is odd 14 is even 15 is odd
I hope this example helps to understand how an if-else and for loop work together to complete a code block or a task.

While loop:

The while loop in Python is used to execute a block of code repeatedly as long as a certain condition is true. The general syntax for a while loop is as follows:
python
while condition: # Code to execute while the condition is true

Here, the condition is a Boolean expression that is evaluated before each iteration of the loop. The code block following the while statement is indented and contains the code to be executed while the condition is true.

For example, the following while loop prints the numbers from 1 to 5:
python
i = 1 while i <= 5: print(i) i += 1

Output:
1 2 3 4 5
loops are a fundamental part of programming and are used to execute a block of code repeatedly until a certain condition is met. The for loop is used to iterate over a sequence, while the while loop is used to execute code while a certain condition is true.

If-else and while Loop Example

Here's an example of how an if-else statement and a while loop can be used together in Python for beginners: (Prime Number in Python)
python
# A program to check if a user-entered number is prime or not # Prompt the user to enter a number number = int(input("Enter a number: ")) # Initialize a variable to keep track of whether the number is prime or not is_prime = True # Check if the number is greater than 1 (prime numbers are greater than 1) if number > 1: # Initialize a variable to use as the divisor divisor = 2 # Use a while loop to check if the number is divisible by any number other than 1 and itself while divisor <= number // 2: if number % divisor == 0: # If the number is divisible by any number other than 1 and itself, it is not prime is_prime = False break # Increment the divisor divisor += 1 else: # If the number is less than or equal to 1, it is not prime is_prime = False # Print the result if is_prime: print(number, "is prime") else: print(number, "is not prime")

In this example, we prompt the user to enter a number and check if it is prime or not using a while loop and an if-else statement. First, we initialize a variable called is_prime to True to assume that the number is prime until proven otherwise. Then, we check if the number is greater than 1 (since prime numbers are greater than 1). If it is, we use a while loop to check if the number is divisible by any number other than 1 and itself. If it is divisible, we set is_prime to False and break out of the loop. If the number is not greater than 1, we set is_prime to False. Finally, we print a message indicating whether the number is prime or not.

Output:
Enter a number: 13 13 is prime Enter a number: 10 10 is not prime

I hope this example helps to get an overview of how if-else and while loop together to do a certain task in Python. 


do-while loop in python

In Python, for and while are the two primary types of loops used for iteration and repetition. However, there is another type of loop called the do-while loop that is used in some other programming languages like C, C++, Java, etc.

The do-while loop executes a block of code at least once before checking the condition to determine if the loop should continue or not. In Python, there is no direct equivalent of a do-while loop, but it can be emulated using a while loop with a conditional statement.

Here is an example of how to emulate a do-while loop in Python:
python
while True: # Code to execute at least once # ... # Check condition to determine if loop should continue if condition: break

Here, the while loop will execute the code block at least once, regardless of the condition. After the code block executes, the loop checks the condition using an if statement. If the condition is true, the loop continues, otherwise, it breaks out of the loop.


do-while loop Example

As I mentioned earlier, there is no direct do-while loop in Python. However, we can emulate a do-while loop using a while loop with a conditional statement.

Here's an example of how to use a while loop to emulate a do-while loop in Python:
python
# Emulate a do-while loop to ask user for input until valid input is entered while True: user_input = input("Enter a number between 1 and 10: ") if user_input.isnumeric() and int(user_input) >= 1 and int(user_input) <= 10: print("Valid input:", user_input) break else: print("Invalid input. Please try again.")

In this example, the loop will execute the code block at least once, regardless of the condition. The user is prompted to enter a number between 1 and 10. If the input is valid (i.e., a numeric value between 1 and 10), the loop will break and the program will print the valid input. If the input is invalid, the program will print an error message and the loop will continue, prompting the user to enter another input.

Note that the while loop is used here with the condition True, which ensures that the loop will execute at least once. The if statement inside the loop checks the validity of the user's input, and if it is valid, the break statement is used to exit the loop. Otherwise, the loop continues until a valid input is entered.

What are Iterations in Python?

In Python, iteration refers to the process of repeating a set of instructions a specified number of times or until a certain condition is met. This is typically achieved using loops, which allow us to execute a block of code repeatedly.

There are two main types of loops in Python: for loops and while loops. 


Is it possible to do Iterations in Python without looping?

Yes. In Python, iterations are typically performed using loops. However, there are some built-in functions that can be used to perform iterations without writing a loop. let's know about how we can use Lambda to do Iterations without looping, in the future we will go through lambda but now let's give you an overview, it will be handy in long run.

map() function

One such function is the map() function, which applies a function to each element in a sequence and returns an iterator of the results. 

Here's an example of using a map() to compute the squares of a list of numbers:
python
numbers = [1, 2, 3, 4, 5] squares = map(lambda x: x**2, numbers) print(list(squares))


Output:
[1, 4, 9, 16, 25]

Here, the map() function applies the lambda function lambda x: x**2 to each element in the numbers list and returns an iterator of the results. The list() function is used to convert the iterator to a list so that we can print the results.

filter() function

Another function that can be used to perform iterations without a loop is the filter() function, which applies a function to each element in a sequence and returns an iterator of the elements for which the function returns True

Here's an example of using filter() to find the even numbers in a list:
python
numbers = [1, 2, 3, 4, 5] evens = filter(lambda x: x % 2 == 0, numbers) print(list(evens))


Output:
[2, 4]

Here, the filter() function applies the lambda function lambda x: x % 2 == 0 to each element in the numbers list and returns an iterator of the elements for which the function returns True (i.e., the even numbers). The list() function is used to convert the iterator to a list so that we can print the results.

While these functions can be used to perform iterations without writing a loop, they are still based on the concept of iteration and are essentially performing a loop behind the scenes. Loops are a fundamental concept in programming and are typically the most efficient way to perform iterations in Python.

reduce() function

Here's an example that demonstrates the use of the reduce() function within list comprehension, along with the corresponding output:

Example: Let's say we have a list of numbers, and we want to calculate the product of all the numbers in the list using the reduce() function. Here's how you can achieve this:
python
from functools import reduce numbers = [1, 2, 3, 4, 5] product = reduce(lambda x, y: x * y, numbers)

In this example, we import the reduce() function from the functools module. The reduce() function takes two arguments: a lambda function that defines the operation to be performed (lambda x, y: x * y for multiplying two numbers), and the iterable to be reduced (numbers list).

The reduce() function applies the lambda function successively to partial results until a single value is obtained. In this case, the reduce() function multiplies each element of the numbers list together, resulting in the product of all the numbers.

The output for the given example would be:
120

The reduce() function calculates the product of all the numbers in the numbers list, which is 1 * 2 * 3 * 4 * 5 = 120.

The reduce() function is a powerful tool for performing cumulative operations on a list or iterable. It can be used within list comprehension or in other contexts where you need to progressively combine elements of a sequence.

Remember to import the reduce() function from the functools module before using it in your code. Experiment with different operations and iterables to explore the capabilities of reduce() and apply it to various scenarios in your programming tasks.

Python Quizzes: Loops and Iterations. Test Your Memory

  1. What is a loop in Python?

    • A. A method for iterating through a sequence of elements
    • B. A method for performing a task repeatedly
    • C. A method for exiting a program
    • D. A method for importing modules into a program

  2. What is the output of the following code?

    python
    for i in range(5): print(i)
    • A. 1 2 3 4 5
    • B. 0 1 2 3 4
    • C. 5 4 3 2 1
    • D. None of the above

  3. What is the output of the following code?

    python
    i = 0 while i < 5: print(i) i += 1
    • A. 1 2 3 4 5
    • B. 0 1 2 3 4
    • C. 5 4 3 2 1
    • D. None of the above

  4. What is the difference between a for loop and a while loop?

    • A. A for loop iterates over a sequence, while a while loop repeats a task until a condition is met
    • B. A for loop repeats a task until a condition is met, while a while loop iterates over a sequence
    • C. A for loop is used for arithmetic operations, while a while loop is used for string manipulations
    • D. There is no difference

  5. What is the output of the following code?

    python
    numbers = [1, 2, 3, 4, 5] for number in numbers: if number % 2 == 0: print(number)
    • A. 2 4
    • B. 1 3 5
    • C. 1 2 3 4 5
    • D. None of the above

  6. What is the output of the following code?

    python
    i = 0 while i < 5: if i == 2: break print(i) i += 1
    • A. 0 1
    • B. 0 1 2
    • C. 2 3 4 5
    • D. None of the above

  7. What is the output of the following code?

    python
    i = 0 while i < 5: if i == 2: i += 1 continue print(i) i += 1
    • A. 0 1
    • B. 0 1 2
    • C. 2 3 4 5
    • D. None of the above

  8. What is the output of the following code?

    python
    numbers = [1, 2, 3, 4, 5] while len(numbers) > 0: print(numbers.pop())
    • A. 5 4 3 2 1
    • B. 1 2 3 4 5
    • C. 1 5 2 4 3
    • D. None of the above

  9. What is the output of the following code?

    python
    numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): if i == 2: continue print(numbers[i])
    • A. 1 2 4 5
    • B. 1 2 3 5
    • C. 1 3 4 5
    • D. None of the above

  10. What is the output of the following code?

  11. python
    for i in range(1, 6): for j in range(i): print(i, end="") print()
    • A. 12345
    • B. 11111 22222 33333 44444 55555
    • C. 1 2 3 4 5
    • D. 1 11 111 1111 11111
  12. What is the output of the following code?
  13. python
    i = 0 while True: print(i) i += 1 if i == 5: break
    • A. 0 1 2 3 4
    • B. 1 2 3 4 5
    • C. 0 1 2 3 4 5
    • D. None of the above
  14. What is the output of the following code?
  15. python
    i = 0 while i < 5: print(i) i += 1 else: print("Done!")
    • A. 0 1 2 3 4
    • B. Done!
    • C. 0 1 2 3 4 Done!
    • D. None of the above
  16. What is the output of the following code?
  17. python
    numbers = [1, 2, 3, 4, 5] for number in numbers: if number == 3: pass print(number)
    • A. 1 2 4 5
    • B. 1 2 3 4 5
    • C. 1 2 4 5 3
    • D. None of the above
  18. What is the output of the following code?
  19. python
    i = 0 while i < 5: print(i) i += 1 if i == 3: continue
    • A. 0 1 2
    • B. 0 1 2 3 4
    • C. 0 1 3 4
    • D. None of the above
  20. What is the output of the following code?
  21. python
    i = 0 while i < 5: print(i) i += 1 if i == 3: break else: print("Done!")
    • A. 0 1 2
    • B. 0 1 2 Done!
    • C. 0 1 2 3 4 Done!
    • D. None of the above
  22. What is the output of the following code?
  23. python
    numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): if i == 3: break print(numbers[i]) else: print("Done!")
    • A. 1 2 3
    • B. 1 2 3 Done!
    • C. 1 2 3 4 5
    • D. None of the above
  24. What is the output of the following code?
  25. python
    for i in range(5): print(i)
    • A. 0 1 2 3 4
    • B. 1 2 3 4 5
    • C. 0 1 2 3 4 5
    • D. None of the above
  26. What is the output of the following code?
  27. python
    numbers = [1, 2, 3, 4, 5] for number in numbers: print(number) if number == 3: break
    • A. 1 2 3
    • B. 1 2 3 4 5
    • C. 1 2 3 4
    • D. None of the above

  1. What is a loop in Python?
    • Answer: B. A method for performing a task repeatedly

  2. What is the output of the following code?
    python
    for i in range(5): print(i)
    • Answer: B. 0 1 2 3 4

  3. What is the output of the following code?
    python
    i = 0 while i < 5: print(i) i += 1
    • Answer: B. 0 1 2 3 4

  4. What is the difference between a for loop and a while loop?
    • Answer: A. A for loop iterates over a sequence, while a while loop repeats a task until a condition is met

  5. What is the output of the following code?
    python
    numbers = [1, 2, 3, 4, 5] for number in numbers: if number % 2 == 0: print(number)
    • Answer: A. 2 4

  6. What is the output of the following code?
    python
    i = 0 while i < 5: if i == 2: break print(i) i += 1
    • Answer: A. 0 1

  7. What is the output of the following code?
    python
    i = 0 while i < 5: if i == 2: i += 1 continue print(i) i += 1
    • Answer: B. 0 1 3 4

  8. What is the output of the following code?
    python
    numbers = [1, 2, 3, 4, 5] while len(numbers) > 0: print(numbers.pop())
    • Answer: A. 5 4 3 2 1

  9. What is the output of the following code?

    python
    numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): if i == 2: continue print(numbers[i])

    Answer: A. 1 2 4 5

  10. What is the output of the following code?

  11. python
    for i in range(1, 6): for j in range(i): print(i, end="") print()

    Answer: B. 11111 22222 33333 44444 55555

  12. What is the output of the following code?
  13. python
    i = 0 while True: print(i) i += 1 if i == 5: break

    Answer: A. 0 1 2 3 4

  14. What is the output of the following code?
  15. python
    i = 0 while i < 5: print(i) i += 1 else: print("Done!")

    Answer: C. 0 1 2 3 4 Done!

  16. What is the output of the following code?
  17. python
    numbers = [1, 2, 3, 4, 5] for number in numbers: if number == 3: pass print(number)

    Answer: B. 1 2 3 4 5

  18. What is the output of the following code?
  19. python
    i = 0 while i < 5: print(i) i += 1 if i == 3: continue

    Answer: C. 0 1 3 4

  20. What is the output of the following code?
  21. python
    i = 0 while i < 5: print(i) i += 1 if i == 3: break else: print("Done!")

    Answer: A. 0 1 2


  22. What is the output of the following code?
  23. python
    numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): if i == 3: break print(numbers[i]) else: print("Done!")
    • Answer: A. 1 2 3
  24. What is the output of the following code?
  25. python
    for i in range(5): print(i)
    • Answer: A. 0 1 2 3 4
  26. What is the output of the following code?
  27. python
    numbers = [1, 2, 3, 4, 5] for number in numbers: print(number) if number == 3: break
    • Answer: A. 1 2 3

If you just started Python or wish to polish your memory, visit the Python Roadmap

Post a Comment

Previous Post Next Post