---
# System prepended metadata

title: 'Beginner : Iteration - For Loops'

---

---
title: Introduction
description:
duration: 200
card_type: cue_card
---

# **Iteration - For loops**

[Class
recording](https://www.scaler.com/meetings/i/beginner-iteration-for-loops-6/archive)

[lecture
notes](https://drive.google.com/file/d/1vSpvqKFa7lOixxlQ4gY_sdtS6rQlt0IA/view?usp=share_link)



## **Content**

1.  Need for `for` loops
2.  list
3.  range()
4.  Jumps in range()


## **Meanwhile when people are joining (5-7 mins)**

-   Instructor's welcome.
-   Breaking ice with students.
-   casual conversation to bond.


---
title: Motivation for `for` loop
description:
duration: 200
card_type: cue_card
---


## **Need for `for` loops**


-   While loop will run infinitely when we donot give an exit condition





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/039/999/original/download.png?1689591205)





-   Instead of a condition, we need a loop that runs for a range





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/000/original/download_%281%29.png?1689591224)





-   While loop ends when condition becomes false, a for loop ends when
    the range is exhausted.





``` python
a = input()
while a:
    if len(a) == 6:
        a = ""
    print("END!")
```


---
title: List
description:
duration: 200
card_type: cue_card
---


### List





-   Multiple values stored in the same variable, in other words, a
    collection of variables.





![image.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/001/original/download_%282%29.png?1689591243)


---
title: Explaining range in Python
description:
duration: 200
card_type: cue_card
---


## `range()`





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/002/original/download_%283%29.png?1689591262)





-   `[]` are inclusive





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/003/original/download_%284%29.png?1689591278)





-   `()` exclusive





-   `range()` has mixed range, it incldes start, but excludes end.





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/004/original/download_%285%29.png?1689591298)





-   Goes from start to end-1 , \[start, end)
-   If start is not given, 0 is start
-   To see all the numbers in the range, use list
-   Length of range is end-start
-   Range does not work with float numbers.




Code

``` python=
print(list(range(5)))
```

>Output
```bash=
[0, 1, 2, 3, 4]
```

Code
``` python=
print(list(range(2,10)))
```


>Output
```bash=
[2, 3, 4, 5, 6, 7, 8, 9]
```


-   Works with negative ranges




Code
``` python=
print(list(range(-1,3)))
```

>Output
```bash=
[-1, 0, 1, 2]
```







``` python=
print(list(range(-9, -1)))
```


>Output
```bash=
[-9, -8, -7, -6, -5, -4, -3, -2]
```







-   By default increment is 1, therefore





``` python=
print(list(range(-1,-9)))
```
>Output
```bash=
[]
```


![image.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/005/original/download_%286%29.png?1689591323)



---
title: Jumps or difference in ranges
description:
duration: 300
card_type: cue_card
---


### **Jumps or difference in ranges**





-   range(start,end,jump)





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/006/original/download_%287%29.png?1689591346)



Code
``` python=
print(list(range(2,10,2)))
```

>Output
```bash=
[2, 4, 6, 8]
```




![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/007/original/download_%288%29.png?1689591379)




Code
``` python=
print(list(range(1,30,3)))
```


>Output
```bash=
[1, 4, 7, 10, 13, 16, 19, 22, 25, 28]
```


-   Using for loop in reverse by jumping with negative value





![download.png](https://d2beiqkhq929f0.cloudfront.net/public_assets/assets/000/040/008/original/download_%289%29.png?1689591398)



Code
``` python=
print(list(range(-1,-9,-1)))
```


>Output
```bash=
[-1, -2, -3, -4, -5, -6, -7, -8]
```

Code
``` python=
print(list(range(2,5,10)))
```

>Output
```bash=
[2]
```
Code
``` python=
print(list(range(5,-10,-2)))
```


>Output
```bash=
[5, 3, 1, -1, -3, -5, -7, -9]
```


---
title: Quiz-1
description: Quiz-1
duration: 60
card_type: quiz_card
---

# Question


What will be the output of `print(list(range(7, 8)))`?
# Choices
- [x] [7]
- [ ] [7, 8]
- [ ] []


---
title: Quiz-2
description: Quiz-2
duration: 60
card_type: quiz_card
---

# Question


What will be the output of `print(list(range(8, 8)))`?
# Choices
- [ ] [7]
- [ ] [7, 8]
- [x] []




---
title: Quiz-3
description: Quiz-3
duration: 60
card_type: quiz_card
---

# Question


How many numbers are included in the below range?

``` python=
range(1, 11, 2)
```
# Choices
- [ ] 4
- [x] 5
- [ ] 6
- [ ] 7





---
title: Quiz-4
description: Quiz-4
duration: 60
card_type: quiz_card
---

# Question

How many numbers are included in the below range?

``` python=
range(11)
```
# Choices
- [x] 11
- [ ] 10
- [ ] 12


---
title: Revising previous concepts
description: 
duration: 600
card_type: cue_card
---



## **Question**: Calculate sum of all numbers from 1 to N using a for loop.


Code
``` python=
number = int(input("Please enter number - "))
final_sum = 0
for value in range(1, number + 1):
    final_sum += value
print(final_sum)
```


>Output
```bash=
Please enter number - 6
21
```







## **Question**: Print all numbers from an input N to 1 where N \> 1.




Code
``` python=
number = int(input("Enter the number - "))
for i in range(number, 0, -1):
    print(i)
```


>Output
```bash=
Enter the number - 5
5
4
3
2
1
```


## **Question**: Print all numbers from an input N to 1 where N \> 1 using for loop. Solve this without using a negative jump!




Code
``` python=
n = int(input("Enter the number - "))
for i in range(1, n+1):
    print(n-i+1)
```
>Output
```bash=
Enter the number - 5
5
4
3
2
1
```
OR
Code
``` python=
n = int(input("Enter the number - "))
for i in range(-n, 0):
    print(-i)
```


>Output
```bash=
Enter the number - 5
5
4
3
2
1
```