Monday, 29 July 2019

Nested loops


Ex: wap to display *’s in pyramid style or triangle shape
n=int(input("enter no of rows "))
for i in range(1,n+1):
    print(" "*(n-i),end="")
    print("* "*i)
"""output:
enter no of rows 3
  *
 * *
* * *

Nested Loops:

Loop inside a loop is called Nested Loops.

Nested Loops:
for i in range(2):
    for j in range(2):
        print(i,j)
"""output:
0 0
0 1
1 0
1 1
>>> """
for i in range(1,2):
    for j in range(2):
        print(i,j)
output:
1 0
1 1
>>> 

#find out the output:


n=int(input("enter no of rows:"))
for i in range(1,n+1):
    for j in range(1,n+1):
        print("*",end=" ")
    print()

#find out the output:
n=int(input("enter no of rows:"))
for i in range(1,n+1):
    print("* " *i)
enter no of rows:3
*
* *
* * *
enter no of rows:3
*
* *
* * *



Next Topic: Unconditional statements
Previous Topic: while loop


The else suite


The else suite:
#Find out the output:
for i in range(3):
    print("Hello")
else:
    print("Bye")

"""output:
Hello
Hello
Hello
Bye
>>> """

Example2:
#Find out the output:
for i in range(0):
    print("Hello")
else:
    print("Bye")

"""output:
Bye
>>> """
In python, it is possible to use ‘else’ statement along with loops (for or while), this is called The else suite.

Syntax: for loop

for variable in sequence:
    statement(s)
else:
    statement(s)
syntax: while:
while condition:
    statement(s)
else:
    statement(s)

#searching the data
a=[10,20,30]
n=int(input("enter data to search "))
for i in a:
    if n==i:
        print("Data is found")
        break;
else:
    print("Data is not found")
"""output:
enter data to search 20
Data is found
>>> """


Related Video: https://youtu.be/rUij4z3DVjA

Next Topic: Strings and Characters
Previous Topic: Assessment 8

Bitwise Operators


Bitwise Operators

These operators act on individual bits (0 and 1) of the operand. We can use Bitwise operators directly on binary numbers or on integers also.

Bitwise Operators
Meaning
&
If both bits are 1 then only the result is 1 otherwise result is 0
|
If at least one bit is 1 then the result is 1 otherwise result is 0
^ (Cap operator)
It bits are different then the only result is 1 otherwise result is 0
~ (tilde)
Bitwise complement operator i.e 1 means 0 and 0 means 1
>> 
Bitwise left shift operator
<< 
Bitwise right shift operator

Bitwise AND Operator(&):

This operator performs AND operation on the individual bits of numbers. The symbol for this operator is ‘&’, which is called ampersand.


The AND gate circuit present in the computer, the chip will perform the AND operation.





Bitwise operators are applicable only  for int and Boolean types.
By mistake, if we are trying to apply for any other type then we will get error.
print(4&5)-àValid
print(2.5&6.2)-àError:
print(2.3&2) -àError
>>> print(True&True)
True
>>> print(True&False)
False
>>> print(2&6)
2

2
2

2
1
0
2
0
1

Read the remainders from bottom to up
10 remaining 6 bits filled with 0s
i.e 000000 10

Read the remainders from bottom to up
Binary form of 6 is 110 (remaining 5 bits are filled with 0s) i.e
00000111
A&b is:
A:-à  0 0 0 0 0 0 1 0
B:à   0 0 0 0 0 1 1 1
-----------------
A&b= 0 0 0 0 0 0 1 0
------------------------

Now we need to convert from binary to decimal:
0
0
0
0
0
0
1
0
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
0
0
0
0
0
0
2
0

Add 1’s: 0+0+0+0+0+0+2+0=2
So result is 2

Steps to convert decimal to Binary
1.  Write down the decimal number ex: 6
2.  Divide the decimal number by 2
3.  Write the result underneath (below)

4.  
Write the remainder on the right hand side. This will be 0 or 1

5.  Divide the result of the division by 2 and again write down the remainder
 6.  Continue dividing and writing down remainders until the result of the division is 0

7.  Read the remainders from bottom to up

Steps to convert binary to decimal:
Converting from binary to decimal involves multiplying the value of each digit.
1.  Write down the number
2.  Multiply the digit by value place holder
3.  Continue doing this until you the number
Add the result together (only 1’s)

Related Video:  https://youtu.be/xBNdZ2ytTiU




Next Topic: Bitwise AND Operator (&)
Previous Topic: Membership Operators

Strings and Characters


Strings and Characters
"""A Python program to access each element of a string
in forward and reverse orders using while loop"""
#indexing on string
s="Rama Rao"
#Accessing each character using while loop
n=len(s) #n is no of chars in string s
i=0 #i varies from 0 to n-1
while i>=-n:
    print(s[i],end=' ')
    i=i-1 #i-=1
print() #put curson into next line
#access in reverse order using negative index
i=1 #where i varies from 1 to n
n=len(s) # no of characters in String s
while i<=n:
    print(s[-i],end=' ')
    i=i+1 #i+=1
   
"""output:
R o a R   a m a R
o a R   a m a R
>>> """
Indexing in Strings
Index represents the position number. Index is written using square braces []. By specifying the position number through an index, we can access the particular elements or characters of a string.

Negative number:
When we use index as a negative number, it can access the elements in the reverse order that is s[-1] refers to the last element.

"""A Python program to access each element of a string
in forward and reverse orders using for loop"""
#indexing on string
s="Rama Rao"
#access each letter using for loop
for i in s:
    print(i,end='')
print()#new line
#access in reverse order
for i in s[::-1]:
    print(i,end='')

"""output:
Rama Rao
oaR amaR
>>>
>>> """

Slicing the String
A slice represents a part or piece of a string.
String[start:stop:stepsize]

S=’Rama Rao’
S[0:7:1]
>>> s[0:7:1]
'Rama Ra'
>>> s[0:7:2]
'Rm a'
>>> s[::]#access string from 0th to last character
'Rama Rao'
>>> s[::2] #Access entire string in steps of 2
'Rm a'
>>> s[2::]#access string from s[2] to ending
'ma Rao'
>>> s[2:4:1] #access from s[2] to s[3] in steps of 1
'ma'
>>> 
Suppose if you write the following statements:
>>> s[:3:] #accessing string from s[0] to s[2] in steps of 1
'Ram'
>>> 
It is possible to use reverse slicing to retrieve the elements from the string in reverse order.
>>> s[-4:-1]
' Ra'
>>> 
>>> s[-8::]
'Rama Rao'
>>> 

Concatenation of Strings

>>> a='mahesh'
>>> b='babu'
>>> c=a+b
>>> print(c)
maheshbabu
>>> 
We can use ‘+’ on strings to attach a string at the end of another string. If we use ‘+’ operator on numbers it is called addition operators, When we used on strings, it is called ‘concatenation’ operator since it joins the strings.

Removing Spaces from a string:
s=" Rama "
>>> print(s.strip())
Rama
>>> print(s)
 Rama
>>> print(s.lstrip())
Rama
>>> print(s.rstrip())
 Rama
>>> 
Next Topic: Functions
Previous Topic: The else suite

Files with Exception handling

#Ask the user to take two input integer values var a,b try:     a=int(input("enter any integer value:"))     b=int(input(...