NAME: Sneha Gaikwad
ROLL NO: 08
SUBJECT: SKILL LAB – PYTHON PROGRAMMING
EXPERIMENT NO 3
1. WAP to implement classes, object, static method and inner class.
class OC:
@staticmethod
def static_method():
print("This is a static method.")
class IC:
def init (self, name):
self.name = name
def greet(self):
print(f"Hello, {self.name}!")
OC.static_method()
inner_obj = OC.IC("Mehvish")
inner_obj.greet()
Output :-
2. If an integer is given throught the keyboard, find whether its even or odd
class EvenOdd:
def init (self, number):
self.number = number
class EvenOdd:
def init (self, number):
self.number = number
def check_even_odd(self):
if self.number % 2 == 0:
return "Even"
else:
return "Odd"
num = int(input("Enter an integer: "))
obj = EvenOdd(num)
result = obj.check_even_odd()
print(f"The number {num} is {result}.")
Output :
3. If ages of ryan, shyan and ajay are given as an input through keyboard, wap
to determine the youngest of three.
class Person:
def init (self, name, age):
self.name = name
self.age = age
class YoungestFinder:
def init (self):
self.people = []
def add_person(self, person):
self.people.append(person)
def find_youngest(self):
youngest = self.people[0]
for person in self.people:
if person.age < youngest.age:
youngest = person
return youngest
if name == " main ":
ryan_age = int(input("Enter Ryan's age: "))
shyan_age = int(input("Enter Shyan's age: "))
ajay_age = int(input("Enter Ajay's age: "))
# instances of Person
ryan = Person("Ryan", ryan_age)
shyan = Person("Shyan", shyan_age)
ajay = Person("Ajay", ajay_age)
youngest_finder = YoungestFinder()
youngest_finder.add_person(ryan)
youngest_finder.add_person(shyan)
youngest_finder.add_person(ajay)
youngest = youngest_finder.find_youngest()
print(f"The youngest is {youngest.name} with age {youngest.age}.")
Output
:
4. WAP that defines a function count_lower_upper() that accepts a string and
calculates the number of uppercase and lowercase alphabets.It should
return these values as a dictionary. call this function for sample
strings.
class StringAnalyzer:
def init (self, input_string):
self.input_string = input_string
#INITIALIZE
def count_lower_upper(self):
lower_count = 0
upper_count = 0
#Iteration
for char in self.input_string:
if char.islower():
lower_count += 1 #Count lower case
elif char.isupper():
upper_count += 1 #Count upper case
return {'lowercase': lower_count, 'uppercase': upper_count}
sample_strings = [
"Python Programming",
"Khan Mehvish",
"Skill Lab"
]
for string in sample_strings:
analyzer = StringAnalyzer(string)
result = analyzer.count_lower_upper()
print(f"String: '{string}' => {result}")
OUTPUT :-
5. WAP to find fact value of any number entered through the
keyboard. class Factorial:
def init (self, number):
self.number = number
def fact(self):
fact = 1
for i in range(1, self.number + 1):
fact *= i
return fact
num = int(input("Enter a number: "))
fact_obj = Factorial(num)
result = fact_obj.fact()
print(f"The factorial of {num} is: {result}")
OUTPUT :-
6. WAP that prints square root an dcube root of numbers from 1 to 10, up to 4
decimal places. Ensure that the output is displayed in separate lines,
with number center-justified and square root right-justified.
import math
class NumberRoots:
def init (self, number):
self.number = number
def square_root(self):
return round(math.sqrt(self.number), 4)
def cube_root(self):
return round(self.number ** (1/3), 4)
def display(self):
print(f"{self.number:^10} {self.square_root():>15}
{self.cube_root():>15}")
def main():
print(f"{'Number':^10} {'Square Root':>15} {'Cube Root':>15}")
for num in range(1, 11):
nr = NumberRoots(num)
nr.display()
if name == " main ":
main()
OUTPUT :-
7. A 5-digit positive integer is entered through the keyboard write a
recursive function to calculate sum of digits of 5-digit number
class DigitSum:
def sum_of_digits(self, num):
if num == 0:
return 0
return num % 10 + self.sum_of_digits(num // 10)
def main():
number = int(input("Enter a 5-digit positive integer: "))
if 10000 <= number <= 99999:
digit_sum = DigitSum()
result = digit_sum.sum_of_digits(number)
print(f"The sum of the digits of {number} is: {result}")
else:
print("Please enter a valid 5-digit number.")
main()
OUTPUT :-