# list=[1,2,3,4,5]
# sum=0
# for i in list:
# sum+=i
# print("Sum of elements in list : ",sum)
# prod=1
# for i in list:
# prod*=i
# print("Product of elements in list : ",prod)
# list1=[12,5,8,1,45,6]
# smallest=list1[0]
# largest=list1[0]
# for i in list1:
# if i<smallest:
# smallest=i
# if i>largest:
# largest=i
# print("The smallest element in a list is",smallest)
# print("The largest element in a list is",largest)
# #Reversing a List:
# for i in range(len(list1)-1, -1, -1):
# print(list1[i], end=" ")
#Array Sorting :
# list1=[45,5,54,2,1]
# i=0
# while(i<len(list1)):
# j=i+1
# while(j<len(list1)):
# if(list1[i]>list1[j]):
# temp=list1[i]
# list1[i]=list1[j]
# list1[j]=temp
# j+=1
# i+=1
# print(list1)
# list=[12,5,8,4,7,9,11,20]
# oddlist=[]
# evenlist=[]
# for i in list:
# if(i%2==0):
# evenlist.append(i)
# else:
# oddlist.append(i)
# print("Even Numbers : ",evenlist)
# print("Odd Numbers : ",oddlist)
# list=[12,5,8,4,7,9,11,20]
# print("Prime numbers in a list : ")
# for i in list:
# count=0
# for j in range(1,i+1):
# if(i%j==0):
# count+=1
# if(count==2):
# print(i, end=" ")
#Menu driven program for tuple operations (create,update,delete,access)
# tup=(28,7,18,1,27)
# while(True):
# print("\n***Menu***\n1-Create\n2-Update\n3-Delete\n4-Access\n0-Exit")
# choice=int(input("Enter your Choice : "))
# if choice==1:
# values = input("Enter elements separated by spaces: ").split()
# print(tuple(values))
# elif choice==2:
# index=int(input("Enter the index (0-4) of element to update: "))
# num=int(input("Enter value : "))
# tup=list(tup)
# tup[index]=num
# tup=tuple(tup)
# print(tup)
# elif choice==3:
# ind=int(input("Enter the index (0-4) of item to delete or enter 5 to
delete the tuple:"))
# tup=list(tup)
# if(ind==5):
# tup.clear()
# else:
# tup.remove(tup[ind])
# print(tuple(tup))
# elif choice==4:
# for i in tup:
# print(i, end=" ")
# elif choice==0:
# break
# else:
# print("Invalid Choice Enter(1-4).")
# set={1,2,2,("Sam",3,2),"Janhavi"}
#LISTS AND METHODS OF LISTS
a = [5,10,15,20,25,30,35,40,30,25]
print(a)
print(a[2])
print(a[-3])
print(a[0:3])
print(a[5:])
print(a[:5])
print("Length : ",len(a))
a.append(63)
print("Append : ",a)
a.extend([42,69,44])
print("Extend : ",a)
a.insert(1,12)
print("Insert : ",a)
del a[-5]
print("Del : ",a)
#del a ---Deletes whole List, not only clears it
#print(a) ---NameError: name 'a' is not defined
a.remove(12)
print("Remove : ",a)
a.pop(2)
print("Pop(2) : ",a)
a.pop()
print("Pop : ",a)
print("Index(25) : ",a.index(25))
print("Count(30) : ",a.count(30))
a.sort()
print("Ascending Order : ",a)
a.sort(reverse=True)
print("Descending Order : ",a)
a.reverse()
print("Reverse : ",a)
b=a.copy()
print("Copy : ",b)
print("Min : ",min(a))
print("Max : ",max(a))
a.clear()
print("Clear : ",a)
# TUPLES AND ITS METHODS
a = (5,10,15,20,25,30,35,40,30)
print(a)
print(a[2])
print(a[-3])
print(a[0:3])
print(a[5:])
print(a[:5])
print("Length : ",len(a))
# del a[-1] ---TypeError: 'tuple' object doesn't support item deletion
# del a ---Whole tuple is deleted
# print(a) ---NameError: name 'a' is not defined
print("Index(30) : ",a.index(30))
print("Count(30) : ",a.count(30))
print("min(a) : ",min(a))
print("max(a) : ",max(a))
for i in a:
print(i, end=" ") #Tuples are iterable but immutable
# SET AND ITS METHODS
a = {5,10,15,20,25,30,35,40}
print(a)
print("Length : ",len(a))
a.add(55)
print("Add : ",a)
#a.update([["Sam", "Janavi", "Shagun"]]) ---TypeError: unhashable type: 'list'
a.update([("Sam", "Janavi", "Shagun")])
print("update([()]) : ",a)
a.update([60,65,70])
print("update([]): ",a)
# del a
# print(a) ---NameError: name 'a' is not defined
a.remove(65)
print("remove() : ",a)
print("pop() : ",a.pop())
b=a.copy()
print(b)
a2={1, 2, 3, 5}
c=a.union(a2)
print("a.union(a2) : ",c)
c=a.difference(a2)
print("a.difference(a2) : ",c)
c=a.intersection(a2)
print("a.intersection(a2) : ",c)
a.clear()
print("a : ",a)
#DICTIONARY and its methods,functions
Dict1={}
print("Dict1 : ",Dict1)
Dict2=dict({"first":"Hello", 2:"World", 4:"Hii"})
print("Dict2 : ",Dict2)
Dict3=dict([(1,"Samruddhi"),(2,"Sahindrakar")])
print("Dict3 : ",Dict3)
print("Type : ",type(Dict1))
print("Value : ",Dict2["first"])
Dict2[2]="User"
print("value : ",Dict2[2])
Dict1[1]="Pune"
print("value : ",Dict1[1])
Dict2["third"]=["Shaurya","Sahindrakar"]
print("Dict2 : ",Dict2)
print("Length of Dict2 : ",len(Dict2))
del Dict2[2]
print("Dict2 : ",Dict2)
Dict2.pop("first") #In dictionary pop() needs key as an argument
print("Dict2 : ",Dict2)
Dict3.popitem()
print("Dict3 : ",Dict3)
Dict3.clear()
print("Dict3 : ",Dict3)
Dict3=Dict1.copy()
print("Dict3 : ",Dict3)
#print("min(Dict2) : ",min(Dict2)) ---Here Dict2 must have same type of keys for
comparison
Dict1[2]="Mumbai"
print("max(Dict1) : ",max(Dict1))
print("value: ", Dict1.get(1))
print("Keys in Dict1 : ",Dict1.keys())
print("Values in Dict1 : ",Dict1.values())
Dict3.update(Dict2)
print("Dict3 : ",Dict3)
#Lambda, map(), amd reduce()
from functools import reduce
sum=lambda a,b:a+b
num1=int(input("Enter number 1: "))
num2=int(input("Enter number 2: "))
print("Sum : ",sum(num1,num2))
words=["Samruddhi", "Janhavi", "Shagun"]
uppercase=list(map(str.upper, words))
print("Uppercase Words: ",uppercase)
numbers=[1,2,3,4,5]
factorial=reduce(lambda x,y:x*y, numbers)
print("Factorial of 5 : ",factorial)
class Student():
def __init__(self,name,marks):
self.name=name
self.marks=marks
def Average(self):
sum=0
for val in self.marks:
sum+=val
print("Congrats",self.name,"your average is",sum/3)
S1=Student("Samruddhi",[91,92,93])
S1.Average()
ASSIGNMENT 3
def Factors(n):
print("Factors of",n )
for i in range(1,n+1):
if(n%i)==0:
print(i,end="\t")
Factors(n=int(input("Enter number : ")))
def getAscii(ch):
return ord(ch)
character=input("Enter the single character: ")
print("ASCII value of",character,"is",getAscii(character))
def decimalToBinary(n):
binary=""
while(n>0):
binary=str(n%2)+binary
n//=2
return binary if binary else "0"
def decimalToOctal(n):
octal=""
while(n>0):
octal=str(n%8)+octal
n//=8
return octal if octal else "0"
def decimalToHexa(n):
hex_digit="0123456789ABCDEF"
hexadecimal=""
while(n>0):
remainder=n%16
hexadecimal=hex_digit[remainder]+hexadecimal
n//=16
return hexadecimal if hexadecimal else "0"
num=int(input("Enter the Decimal Number : "))
print("Binary : ",decimalToBinary(num))
print("Octal : ",decimalToOctal(num))
print("Hexadecimal : ",decimalToHexa(num))
def Fibonacci(n):
if(n==0):
return 0
elif(n==1):
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
num=int(input("Enter the number of elements : "))
for i in range(0, num):
print(Fibonacci(i),end="\t")
def Factorial(n):
if(n>1):
return n*Factorial(n-1)
else:
return 1
num=int(input("Enter the Number : "))
print("Factorial of",num,"is",Factorial(num))
def Cubes():
cube = tuple(i**3 for i in range(1, 11))
print("Cubes : ",cube)
Cubes()
def Palindrome(str):
str2=""
for i in range(len(str)-1,-1,-1):
str2+=str[i]
if(str2==str):
print(str,"is a Palindrome.")
else:
print(str,"is not a Palindrome.")
Palindrome(str=input("Enter the String : "))
def upperAndLower(str):
uppercase=0
lowercase=0
for ch in str:
if ch>="A" and ch<="Z":
uppercase+=1
elif ch>="a" and ch<="z":
lowercase+=1
print("Uppercase Letters : ",uppercase)
print("Lowercase Letters : ",lowercase)
string=input("Enter the String : ")
upperAndLower(string)
def Reverse(n):
num=n
rev=0
while(n!=0):
rem=n%10
rev=rev*10+rem
n//=10
print("Reverse of",num,"is",rev)
num=int(input("Enter the number : "))
Reverse(num)
def swapString(str):
if len(str)<=1:
return str
else:
return str[-1]+str[1:-1]+str[0]
string=input("Enter the String : ")
print("Modified String : ",swapString(string))
ASSIGNMENT 4 :
class Rectangle():
def __init__(self, length, width):
self.length=length
self.width=width
def Area(self):
self.area=self.length*self.width
print("Area of Rectangle :",self.area,"m2.")
r1=Rectangle(10,5)
r1.Area()
class Circle():
pi=3.14159
def __init__(self,radius):
self.radius=radius
def Area(self):
return self.pi*(self.radius**2)
def Circumference(self):
return 2*self.pi*self.radius
c1=Circle(5)
print("Area of Circle :",c1.Area())
print("Circumference of Circle :",c1.Circumference())
class Student():
def __init__(self,name,roll):
self.name=name
self.roll=roll
def display(self):
print("Name : ",self.name)
print("Roll no : ",self.roll)
def Age(self,age):
self.age=age
print("Age :",self.age)
def Marks(self,marks):
sum=0
for i in marks:
sum+=i
print("Average of Marks : ",sum//5)
marks=[91,92,94,90,93]
s1=Student("Samruddhi",2306163)
s1.display()
s1.Age(18)
s1.Marks(marks)
class Student():
def __init__(self,name,marks):
self.name=name
self.marks=marks
def Average(self):
sum=0
for val in self.marks:
sum+=val
print("Congrats",self.name,"your average is",sum/3)
S1=Student("Samruddhi",[91,92,93])
S1.Average()
class Employee():
def __init__(self):
print("Default Constructor Called.")
def __init__(self,name,salary):
self.name=name
self.salary=salary
print("Name : ",self.name)
print("Salary : ",self.salary)
def __init__(self, name="Samruddhi",salary="Unknown"):
self.name=name
self.salary=salary
print("Name : ",self.name)
print("Salary : ",self.salary)
E1=Employee()
E2=Employee("Shagun",60000)
E3=Employee("Shagun")
import statistics as s
class Calculate():
def Addition(self, a=1,b=2,c=3):
return a+b+c
def Calculation(self,*args):
return sum(args)
class Calci():
def Calculation(self,*args):
return s.mean(args)
c1=Calculate()
c2=Calci()
print(c1.Addition())
print(c1.Addition(5,10))
print(c1.Calculation(10,20))
print(c2.Calculation(10,20))
class Employee():
def __init__(self,name,salary,age):
self.name=name
self._age=age
self.__salary=salary
class Emp(Employee):
def disp_age(self):
print("Age : ",self._age)
E1=Employee("Samruddhi",55000,18)
E2=Emp("Shagun",60000,17)
print("Name : ",E1.name)
E2.disp_age()
print("Salary : ",E1._Employee__salary)
#Single Inheritence
class Parent():
age=0
def __init__(self,name):
self.name=name
class Child(Parent):
age=18
def disp(self):
print("Name : ",self.name)
print("Age : ",self.age)
o1=Parent("Samruddhi")
o2=Child("Samruddhi")
o2.disp()
#Multiple Inheritence
class Parent1():
def __init__(self, name):
self.parent1=name
class Parent2():
def __init__(self, name):
self.parent2=name
class Child(Parent1, Parent2):
def __init__(self,name,parent1_name,parent2_name):
Parent1.__init__(self,parent1_name)
Parent2.__init__(self,parent2_name)
self.name=name
def disp(self):
print(self.name,"is a Child of",self.parent1,"and",self.parent2)
C1=Child("John","Alia","Bob")
C1.disp()
#Multilevel Inheritence
class Father():
def Disp(self):
print("Father goes to work.")
class Mother(Father):
def disp(self):
print("Mother loves Cooking.")
class Child(Mother):
def display(self):
print("Child loves to Play.")
C=Child()
C.Disp()
C.disp()
C.display()