0% found this document useful (0 votes)
2K views11 pages

Python 3 Function and OOPs Handson

This document contains code snippets related to various Python concepts like string methods, generators, classes and objects, handling exceptions, modules, and calendar functions. The code defines functions to perform string operations, generate prime numbers and magic constants, create classes for movies and complex numbers, handle exceptions in functions, use date/time, iterator, cryptography and calendar modules, and check leap years.

Uploaded by

Vannila
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
2K views11 pages

Python 3 Function and OOPs Handson

This document contains code snippets related to various Python concepts like string methods, generators, classes and objects, handling exceptions, modules, and calendar functions. The code defines functions to perform string operations, generate prime numbers and magic constants, create classes for movies and complex numbers, handle exceptions in functions, use date/time, iterator, cryptography and calendar modules, and check leap years.

Uploaded by

Vannila
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 11

String Methods:

def stringmethod(para, special1, special2, list1, strfind):


# Write your code here
word1 = ''
newpara =''

for i in para:
if i in special1:
newpara += i
else:
word1 += i

rword2= word1[:70]
rword2= rword2[::-1]
print (rword2)

noSpace = rword2.replace(" ", "")


noSpace = special2.join(noSpace)
print (noSpace)

flag = 0
for each in list1:
if each in para:
continue
else:
flag = 1
break
if flag:
print("Every string in {0} were not
present".format(list1))
else:
print("Every string in {0} were present".
format(list1))

splitted =word1.split()
print (splitted[:20])

ans=[]
for each in splitted:
if splitted.count(each)<3:
if each not in ans:
ans.append(each)

print(ans[-20:])
print(word1.rindex(strfind))
Magic Constant Generator:

def generator_Magic(n1):
lst=[]
for i in range(3,n1+1):
M=i*(i*i+1)/2
lst.append(M)

for i in range(len(lst)):
yield lst[i]

Prime Number Generator:


def primegenerator(num, val):
lst = []
lst1 = []
lst2 = []
odd=1
even=0
for i in range (2, num+1):
if i>1:
for j in range (2, i):
if (i % j) == 0:
break;
else:
lst.append(i)

for i in range (len(lst)):


if(i % 2 == 0):
lst1.append(lst[i])
even += 2
else:
lst2.append(lst[i])
odd +=2

if(val):
for i in range (len(lst1)):
yield lst1[i]
else:
for i in range (len (lst2)):
yield lst2[i]
Classes and Objects 1:
Task1:
class Movie:
def __init__(self, name, n, cost):
self.name = name
self.n = n
self.cost=cost

def __str__(self):
return"Movie : {self.name}\nNumber of Tickets : {self.
n}\nTotal Cost : {self.cost}".format(self=self)

Task2:
class comp:
def __init__(self, a,b):
self.a = a
self.b = b

def add(self, other):


print("Sum of the two Complex numbers :{}+{}i". format
(self.a + other.a, self.b + other.b))

def sub(self, other):


if(self.b>=other.b):
print("Subtraction of the two Complex numbers :{}+
{}i".format(self.a - other.a, self.b - other.b))
else:
print("Subtraction of the two Complex numbers :{}{
}i". format(self.a - other.a, self.b - other.b))
Class and Objects 2:
Task1:
class parent:
def __init__(self, t):
self.t = t
def display (self):
print("Share of Parents is {} Million.".format(round((
self. t)/2, 2)))

class son (parent):


def __init__(self, t, sp):
self.sp= sp
parent.__init__(self,t)

def son_display(self):
Percentage_for_son = (self.t*self.sp)/100
print("Share of Son is {} Million.".format(round(Perce
ntage_for_son, 2)))
print("Total Asset Worth is {} Million.". format(round
(self.t, 2)))

class daughter (parent):


def __init__(self, t, dp):
self.dp = dp
parent.__init__(self, t)

def daughter_display (self):


Percentage_for_daughter = (self.t*self.dp)/100
print("Share of Daughter is {} Million.". format (roun
d(Percentage_for_daughter, 2)))
print("Total Asset Worth is {} Million.".format(round(
self.t, 2)))

Task 2:
class rectangle:
def display (self):
print("This is a Rectangle")

def area(self, a, b):


self.a = a
self.b = b
print("Area of Rectangle is {}".format(self.a * self.
b))

class square:
def display (self):
print("This is a Square")
def area(self, a):
self.a = a
print("Area of square is {}".format(self.a * self.a))

Handling Exceptions 1:
def Handle_Exc1():
# Write your code here
a = int(input())
b = int(input())
if(a>150 or b<100):
print("Input integers value out of range.");
elif(a + b) > 400:
print("Their sum is out of range")
else:
print("All in range")

Handling Exceptions 2:
def FORLoop():
# Write your code here
n = int(input())
l1=[]
for i in range(n):
l1.append(int(input()))

print (l1)
iter1= iter(l1)

for i in range (len(l1)):


print (next(iter1))

return iter1
Handling Exceptions 3:
def Bank_ATM(balance,choice,amount):
# Write your code here
flag = 0
if balance < 500:
print("As per the Minimum Balance Policy, Balance must
be at least 500")
else:
if (choice == 1):
if amount < 2000:
print("The Minimum amount of Deposit should be
2000.")
else:
flag = 1
balance += amount
if (choice == 2):
if(balance - amount)<500:
print("You cannot withdraw this amount due to
Minimum Balance Policy")
else:
flag=1
balance-=amount
if(flag):
print("Updated Balance Amount: {}".format(balance))

Handling Exceptions 4:
def Library(memberfee,installment,book):
# Write your code here
if(installment > 3):
print("Maximum Permitted Number of Installments is 3")
else:
if (installment == 0):
print("Number of Installments cannot be Zero." )
else:
print("Amount per Installment is {}".format (memb
erfee/installment))

ListOfBooks = ["philosophers stone", "chamber of s


ecrets", "prisoner of azkaban", "goblet of fire", "order of ph
oenix", "half blood price", "deathly hallows 1", "deathly hall
ows 2"]
book = book. lower()
if book in ListOfBooks:
print("It is available in this section")
else:
print("No such book exists in this section")
Modules 1: Date Time
import datetime
def dateandtime(val,tup):
# Write your code here
l = []
if val== 1:
c1= datetime.date(tup [0], tup[1], tup[2])
l.append(c1)
l.append(c1.strftime ("%d")+"/"+c1.strftime ("%m")+"/"
+c1. strftime ("%Y"))

elif val == 2:
c1= datetime.date.fromtimestamp (tup[0])
l.append(c1)

elif val == 3:
c1 = datetime.time (tup [0], tup [1], tup [2])
l.append(c1)
l.append(c1.strftime ("%I"))

elif val == 4:
c1= datetime.date(tup[0], tup [1], tup[2])
l.append(c1.strftime ("%A"))
l.append(c1.strftime("%B"))
l.append(c1.strftime("%j"))

elif val == 5:
c1= datetime.datetime (tup[0], tup[1], tup [2], tup[3]
, tup [4], tup[5])
l.append(c1)

return l
Modules 2: Itertools
import itertools
import operator
def performIterator(tuplevalues):
# Write your code here
l1 = []
ans = []

temp = itertools.cycle(tuplevalues [0])

count = 0
for i in temp:
l1.append(i)
count+=1
if count == 4:
break

ans.append(tuple(l1))
ans.append(tuple (list(itertools.repeat (tuplevalues [1][0
], len(tuplevalues[1])))))

temp = itertools.accumulate (tuplevalues[2], operator.add)

ans.append (tuple(list (temp)))

temp = itertools.chain (tuplevalues[0], tuplevalues [1], t


uplevalues[2], tuplevalues[3])
ans.append(tuple(list (temp)))

tempForTask5= list(itertools.chain (tuplevalues[0], tuplev


alues [1], tuplevalues[2], tuplevalues[3]))

temp2 = itertools.filterfalse (lambda x:x%2==0, tempForTas


k5)
ans.append (tuple(list (temp2)))

return tuple (ans)


Modules 3: Cryptography
from cryptography.fernet import Fernet
def encrdecr(keyval, textencr, textdecr):
# Write your code here
mainList = []
f= Fernet (keyval)
mainList.append(f.encrypt (textencr))
d = f.decrypt (textdecr)
mainList.append(d.decode())

return mainList

Modules 4: Calendar
import calendar
import datetime

def checkLeapYear (year):


if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
return 1
else:
return 0
else:
return 1
else:
return 0

def usingcalendar (datetuple):


year = datetuple[0]
leap= checkLeapYear (year)
if leap== 1:
month = 2
else:
month=datetuple[1]
print (calendar. month (year, month))

m = calendar.monthcalendar (year, month)


mondays = [week [0] for week in m if week [0]>0]
day= mondays [-1]

lst = []
MONTH= month
YEAR = year

for i in range(7):
d= datetime.date (year, month, day)
lst.append(d)
if (leap == 1) and (month == 2):
if(day== 29):
day = 0
if(month== 12):
month = 1
year= year + 1
else:
month= month + 1

elif (leap == 0) and (month == 2):


if(day == 28):
day = 0
if(month== 12):
month = 1
year = year + 1
else:
month=month + 1

else:
if((month == 1) or (month== 3) or (month==5)or(mon
th ==7) or (month==8) or(month ==10)or(month == 12)) and (day
== 31):
day= 0
if(month== 12):
month = 1
year = year + 1
else:
month= month + 1

elif((month == 4) or (month == 6) or (month == 9)


or (month == 11)) and (day == 30):
day = 0
if(month== 12):
month = 1
year= year + 1
else:
month= month + 1

day= day + 1

print(lst)

a = (datetime.datetime(YEAR, MONTH,1))
starting_day = a.strftime ("%A")

days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Fri


day", "Saturday", "Sunday" ]
count= [4 for i in range(0,7)]
pos=-1
for i in range(0,7):
if (starting_day == days[i]):
pos= i
break

print(days [pos])

Modules 5: Collections
import collections
def collectionfunc(text1, dictionary1, key1, val1, deduct, list1):
# Write your code here
d = {}
for each in text1.split():
if each in d:
d[each] += 1
else:
d[each]= 1

sort_d= dict(sorted (d.items (), key = lambda kv: kv[0]))


print(sort_d)

cou = collections. Counter (dictionary1)


for each in deduct:
cou[each] -=deduct[each]

print(dict(cou))

orde= collections. OrderedDict()


for i in range (len(key1)):
orde[key1[i]] = val1[i]

del orde[key1[1]]

orde [key1[1]]= val1[1]

print(dict (orde))

d4= {"odd":[], "even": []}


for i in list1:
if i%2==0:
temp = d4["even"]
temp.append(i)
d4["even"]= temp
else:
temp = d4["odd"]
temp.append(i)
d4["odd"]= temp

if d4 ["even"]== []:
del d4["even"]
if d4 ["odd"] == []:
del d4["odd"]
print (d4)

You might also like