DEV Community

Guru prasanna
Guru prasanna

Posted on

Python Day-15 Loop-Using Range Function and Indexing,Tasks

Fibonnaci sequence:
1) Using 3 variables:

f, s = -1, 1
t = 0
while t<=13:
    t= f + s
    print(t,end= ' ')
    f,s = s, t
Enter fullscreen mode Exit fullscreen mode

Output:

0 1 1 2 3 5 8 13 21
Enter fullscreen mode Exit fullscreen mode

2) Using 2 variables:

f, s = -1, 1 
while f+s<=13: 
    print(f + s,end= ' ')  
    f,s = s, f + s
Enter fullscreen mode Exit fullscreen mode

Output:

0 1 1 2 3 5 8 13 
Enter fullscreen mode Exit fullscreen mode

Range function:

range() function is used to generate a sequence of numbers. It is commonly used in loops for iterating a specific number of times.

Syntax:

range(start, stop, step)

-->start (optional): The starting number of the sequence. Defaults to 0 if not specified.

-->stop (required): The number where the sequence ends (exclusive, i.e., not included in the output).

-->step (optional): The increment or decrement value. Defaults to 1 if not specified.

Example:

print("First Output")
for no in range(10):
    print(no, end=' ')

print("\nSecond Output")
for no in range(1,10):
    print(no, end=' ')

print("\nThird Output")

for no in range(5,10):
    print(no, end=' ')

print("\nFourth Output")
for no in range(1,10,2):
    print(no, end=' ')

print("\nFifth Output")
for no in range(3,15,3):
    print(no, end=' ')

print("\nSixth Output")
for no in range(10,1):
    print(no, end=' ')

print("\nSeventh Output")
for no in range(10,1,-1):
    print(no, end=' ')

print("\nEighth Output")
for no in range(20,3,-1):
    print(no, end=' ')

print("\nNineth Output")
for no in range(20,2,-2):
    print(no, end=' ')
Enter fullscreen mode Exit fullscreen mode

Output:

First Output
0 1 2 3 4 5 6 7 8 9 
Second Output
1 2 3 4 5 6 7 8 9 
Third Output
5 6 7 8 9 
Fourth Output
1 3 5 7 9 
Fifth Output
3 6 9 12 
Sixth Output

Seventh Output
10 9 8 7 6 5 4 3 2 
Eighth Output
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 
Nineth Output
20 18 16 14 12 10 8 6 4
Enter fullscreen mode Exit fullscreen mode

Explanation for sixth output:

The range() function requires a step parameter to generate a sequence in reverse. When the step is not specified, it takes 1 as default, which means the sequence will try to increment from 10 to 1, but since 10 is greater than 1, no numbers are generated.

Negative indexing:
Normally indexing starts from 0 but it can also be started from -1 which means negative indexing(starts from -1).

Example:

name = 'ABCDEFGHI'

for letter in name[0:5]:  
    print(letter, end=' ')
print()
for letter in name[0:6:2]:
    print(letter, end=' ')
print()
for letter in name[8:0:-1]:
    print(letter, end=' ')
print()
for letter in name[8:2:-1]:
    print(letter, end=' ')
print()
for letter in name[8:-1:-1]:
    print(letter, end=' ')
print()
for letter in name[8:3:-2]:
    print(letter, end=' ')
print()
for letter in name[8::-1]:
    print(letter, end=' ')
print()
for letter in name[::]:
    print(letter, end=' ')
print()
for letter in name[6::]:
    print(letter, end=' ')
print()
for letter in name[2::2]:
    print(letter, end=' ')
Enter fullscreen mode Exit fullscreen mode

Output:

A B C D E 
A C E 
I H G F E D C B 
I H G F E D 

I G E 
I H G F E D C B A 
A B C D E F G H I 
G H I 
C E G I 
Enter fullscreen mode Exit fullscreen mode

Explanation:Fifth output()
name[8:-1:-1]
In this indexing start is 8 which in above example is the last value,end -1 also indicates last value so output has returned nothing.

Find palindrome or not for given string:

name = input("Enter word: ")
if name[::] == name[::-1]:
    print("Palindrome")
else:
    print("Not Palindrome")
Enter fullscreen mode Exit fullscreen mode

Output:

Enter word: amma
Palindrome

Enter fullscreen mode Exit fullscreen mode

Pattern formation:
Example:1

for num in range(1,6):
    print("* " * num)
Enter fullscreen mode Exit fullscreen mode

Output:

* 
* * 
* * * 
* * * * 
* * * * * 
Enter fullscreen mode Exit fullscreen mode

Example:2

for num in range(5,0,-1):
    print("* " * num)
Enter fullscreen mode Exit fullscreen mode

Output:

* * * * * 
* * * * 
* * * 
* * 
* 
Enter fullscreen mode Exit fullscreen mode

Note: * works between 2 strings but + will not work between 2 strings.(for eg- a*2-->aa,a+2-->a2)

Example:3

digit = "1"
for num in range(5,0,-1): 
    print(digit * num)
    digit = str(int(digit)+1) 
print()
Enter fullscreen mode Exit fullscreen mode

Output:

11111
2222
333
44
5
Enter fullscreen mode Exit fullscreen mode

Tasks:
word = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

1)ABCDEFGHI
2)XYZ
3)ZYXWV
4)ACEGI
5)IGECA
6)ZXVTRPNLJHFDB

word = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
print("First Output")
for letter in word[0:9]:
    print(letter , end=" ")

print("\nSecond Output")
for letter in word[23::]:
    print(letter , end=" ")

print("\nThird Output")
for letter in word[-1:-6:-1]:
    print(letter , end=" ")

print("\nFouth Output")
for letter in word[0:9:2]:
    print(letter , end=" ")

print("\nFifth Output")
for letter in word[8::-2]:
    print(letter , end=" ")

print("\nSixth Output")
for letter in word[-1::-2]:
    print(letter , end=" ")
Enter fullscreen mode Exit fullscreen mode

Output:

First Output
A B C D E F G H I 
Second Output
X Y Z 
Third Output
Z Y X W V 
Fouth Output
A C E G I 
Fifth Output
I G E C A 
Sixth Output
Z X V T R P N L J H F D B
Enter fullscreen mode Exit fullscreen mode

Top comments (0)