Python Prac
Python Prac
EXPERIMENT NO: 1
1) Write a Python Program for checking whether the given number is an even
number or not.
PROGRAM:
def is_even(number):
return number % 2 == 0
try:
num = int(input("Enter a number: "))
if is_even(num):
print(f"{num} is an even number.")
else:
print(f"{num} is not an even number.")
except ValueError:
print("Please enter a valid integer.")
OUTPUT:
PROGRAM:
def is_leap_year(year):
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
try:
year = int(input("Enter a year: "))
if is_leap_year(year):
print(f"{year} is a leap year.")
else:
print(f"{year} is not a leap year.")
except ValueError:
print("Please enter a valid integer.")
231263107050
OUTPUT:
PROGRAM:
def is_prime(number):
if number <= 1:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True
try:
num = int(input("Enter a number: "))
if is_prime(num):
print(f"{num} is a prime number.")
else:
print(f"{num} is not a prime number.")
except ValueError:
print("Please enter a valid integer.")
OUTPUT:
231263107050
PROGRAM:
def is_armstrong(number):
digits = str(number)
num_digits = len(digits)
try:
num = int(input("Enter a number: "))
if is_armstrong(num):
print(f"{num} is an Armstrong number.")
else:
print(f"{num} is not an Armstrong number.")
except ValueError:
print("Please enter a valid integer.")
OUTPUT:
PROGRAM:
try:
number1 = int(input("Enter the first number: "))
number2 = int(input("Enter the second number: "))
hcf = find_hcf(number1, number2)
231263107050
OUTPUT:
PROGRAM:
try:
number1 = int(input("Enter the first number: "))
number2 = int(input("Enter the second number: "))
lcm = find_lcm(number1, number2)
print(f"The LCM of {number1} and {number2} is {lcm}.")
except ValueError:
print("Please enter valid integers.")
OUTPUT:
231263107050
PROGRAM:
for i in range(len(matrix1)):
for j in range(len(matrix1[0])):
result[i][j] = matrix1[i][j] + matrix2[i][j]
return result
try:
rows = int(input("Enter the number of rows: "))
cols = int(input("Enter the number of columns: "))
except ValueError as e:
print(f"Error: {e}")
231263107050
OUTPUT:
PROGRAM:
def generate_fibonacci(n):
fibonacci_list = []
a, b = 0, 1 # Starting values for the Fibonacci sequence
for _ in range(n):
fibonacci_list.append(a)
a, b = b, a + b # Update to the next Fibonacci numbers
return fibonacci_list
try:
n = int(input("Enter the number of Fibonacci numbers to generate: "))
if n < 0:
print("Please enter a non-negative integer.")
else:
fibonacci_numbers = generate_fibonacci(n)
print(f"The first {n} Fibonacci numbers are: {fibonacci_numbers}")
except ValueError:
print("Please enter a valid integer.")
231263107050
OUTPUT:
9) Write a Python program to print all even numbers between 1 to 100 using while
loop.
PROGRAM:
number = 1
OUTPUT:
231263107050
PROGRAM:
def factorial(n):
if n < 0:
return "Factorial is not defined for negative numbers."
elif n == 0 or n == 1:
return 1
else:
result = 1
for i in range(2, n + 1):
result *= i
return result
try:
num = int(input("Enter a number to calculate its factorial: "))
result = factorial(num)
print(f"The factorial of {num} is: {result}")
except ValueError:
print("Please enter a valid integer.")
OUTPUT:
11) Write a Python program takes in a number and finds the sum of digits in a
number.
PROGRAM:
def sum_of_digits(number):
total = 0
while number > 0:
231263107050
try:
num = int(input("Enter a number: "))
if num < 0:
print("Please enter a non-negative integer.")
else:
result = sum_of_digits(num)
print(f"The sum of digits in {num} is: {result}")
except ValueError:
print("Please enter a valid integer.")
OUTPUT:
12) Write a Python program that takes a number and checks whether it is a
palindrome or not.
PROGRAM:
def is_palindrome(number):
str_num = str(number)
return str_num == str_num[::-1] # Check if the string is the same forwards and
backwards
try:
num = int(input("Enter a number: "))
if is_palindrome(num):
print(f"{num} is a palindrome.")
else:
print(f"{num} is not a palindrome.")
except ValueError:
231263107050
OUTPUT:
231263107050
EXPERIMENT NO: 2
PROGRAM:
def sum_of_list(lst):
return sum(lst)
def multiply_list(lst):
product = 1
for item in lst:
product *= item
return product
def largest_number(lst):
return max(lst)
def smallest_number(lst):
return min(lst)
def reverse_list(lst):
return lst[::-1]
def even_items(lst):
return [item for item in lst if item % 2 == 0]
list1 = [1, 2, 3, 4, 5, 6]
231263107050
list2 = [4, 5, 6, 7, 8, 9]
OUTPUT:
PROGRAM:
def min_max_tuple(tup):
return min(tup), max(tup)
def repeated_items(tup):
count = {}
for item in tup:
count[item] = count.get(item, 0) + 1
return {item: cnt for item, cnt in count.items() if cnt > 1}
def number_to_words(num):
num_to_word = {
'0': 'Zero', '1': 'One', '2': 'Two', '3': 'Three',
231263107050
sample_tuple = (3, 5, 1, 4, 2, 5, 3)
repeats = repeated_items(sample_tuple)
print("Repeated items in the tuple:", repeats)
number = 1234
words = number_to_words(number)
print(f"Number {number} in words: {words}")
OUTPUT:
PROGRAM:
def create_and_modify_set():
my_set = {1, 2, 3, 4, 5}
print("Initial set:", my_set)
231263107050
my_set.add(6)
my_set.add(7)
print("Set after adding members (6, 7):", my_set)
return my_set
intersection = set1.intersection(set2)
print("Intersection of Set 1 and Set 2:", intersection)
union = set1.union(set2)
print("Union of Set 1 and Set 2:", union)
difference = set1.difference(set2)
print("Set Difference (Set 1 - Set 2):", difference)
symmetric_difference = set1.symmetric_difference(set2)
print("Symmetric Difference of Set 1 and Set 2:", symmetric_difference)
set1.clear()
print("Set 1 after clearing:", set1)
set1 = create_and_modify_set()
set2 = {4, 5, 6, 7, 8}
set_operations(set1, set2)
231263107050
OUTPUT:
PROGRAM:
def sort_dictionary_by_value(d):
sorted_asc = dict(sorted(d.items(), key=lambda item: item[1]))
sorted_desc = dict(sorted(d.items(), key=lambda item: item[1], reverse=True))
return sorted_asc, sorted_desc
def concatenate_dictionaries(*dictionaries):
result = {}
for d in dictionaries:
result.update(d)
return result
def unique_values(data):
values = set()
for entry in data:
values.add(next(iter(entry.values()))) return values
sample_data = [
{"V": "S001"}, {"V": "S002"}, {"VI": "S001"},
{"VI": "S005"}, {"VII": "S005"}, {"V": "S009"},
{"VIII": "S007"}
]
unique_vals = unique_values(sample_data)
print("Unique values in the dictionary:", unique_vals)
highest_values = highest_n_values(sample_dict)
print("Highest 3 values in the dictionary:", highest_values)
OUTPUT:
231263107050
EXPERIMENT NO: 3
PROGRAM:
def find_longest_word(words):
return 0
return len(longest_word)
OUTPUT:
Iterative Implementation:
count = 0
for c in string:
if c == char:
count += 1
return count
char = 'a'
OUTPUT:
Recursive Implementation:
return 0
char = 'a'
231263107050
OUTPUT:
PROGRAM:
def reverse_number(number):
reversed_num = 0
number = number // 10 # Remove the last digit from the original number
return reversed_num
OUTPUT:
PROGRAM:
def is_palindrome(string):
string = string.lower()
if is_palindrome(user_input):
print(f"'{user_input}' is a palindrome.")
Else:
OUTPUT:
231263107050
EXPERIMENT NO: 4
PROGRAM:
import numpy as np
print("Matrix A:")
print(A)
print("Matrix B:")
print(B)
addition = A + B
subtraction = A - B
multiplication = A * B
matrix_operations(A, B)
OUTPUT:
PROGRAM:
OUTPUT:
3) Write a NumPy program to generate six random integers between 10 and 30.
PROGRAM:
import numpy as np
OUTPUT:
PROGRAM:
import numpy as np
import sys
python_list_memory = sys.getsizeof(python_list)
numpy_array_memory = numpy_array.nbytes
print("Memory consumption:")
Time Performance: NumPy operations are much faster than equivalent operations on
Python lists. The example showed that the time taken for an element-wise operation
was substantially lower for NumPy.
PROGRAM:
import numpy as np
import time
size = 10**6
python_list = list(range(size))
231263107050
numpy_array = np.array(range(size))
start_time = time.time()
start_time = time.time()
print("\nTime comparison:")
EXPERIMENT NO: 5
PROGRAM:
import pandas as pd
python_list = data.tolist()
print("Pandas Series:")
print(data)
print(python_list)
import pandas as pd
print("Series 1:")
print(series1)
print("\nSeries 2:")
print(series2)
print("\nAddition of Series:")
print(addition)
print("\nSubtraction of Series:")
print(subtraction)
print("\nMultiplication of Series:")
print(multiplication)
print("\nDivision of Series:")
231263107050
print(division)
OUTPUT:
import numpy as np
import pandas as pd
pandas_series = pd.Series(numpy_array)
print("NumPy Array:")
print(numpy_array)
231263107050
print(pandas_series)
OUTPUT:
231263107050
EXPERIMENT NO: 6
import pandas
as pd data = {
'name': ['James', 'Ahan', 'Bhanu', 'James',
'Charmi'], 'age': [25, 30, 22, 35, 28]
}
df =
pd.DataFrame(data)
print("Original
DataFrame:") print(df)
df['name'] = df['name'].replace('James',
'Janvi') print("\nModified DataFrame:")
print(df)
output:
231263107050
PROGRAM:
import pandas as pd
data = { 'Name': ['Ahana', 'Bhavi', 'Charmi'], 'Age': [24, 30, 22]
}
df =
pd.DataFrame(data)
print("Original
DataFrame:") print(df)
df['City'] =['surat', 'ahmedabad',
'vadodara'] print("\nDataFrame after
adding 'City' :") print(df)
df.insert(1, 'Country', ['USA', 'USA', 'USA'])
print("\nDataFrame after inserting 'Country' column at position 1:")
print(df)
OUTPUT:
231263107050
PROGRAM:
import pandas
as pd data = {
'Name': ['Ahana', 'Bhavi',
'Charmi'], 'Age': [24, 30, 22],
'City': ['ahmedabad', 'surat', 'vadodara']
}
df = pd.DataFrame(data)
column_headers =
df.columns.tolist()
print("List of column headers:", column_headers)
OUTPUT:
231263107050
EXPERIMENT NO: 7
import pandas as pd
import numpy as np
np.random.seed(0)
print("Time-Series:")
print(time_series)
print(type(time_series.index))
OUTPUT:
231263107050
EXPERIMENT NO: 8
import pandas as pd
import numpy as np
data = {
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)
missing_values_count = df.isnull().sum()
print(missing_values_count)
231263107050
OUTPUT:
Fill Missing DataFrame Values with Column Mean, Median and Mode.
PROGRAM:
import pandas as pd
import numpy as np
231263107050
data = {
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)
df_mean = df.fillna(df.mean())
print(df_mean)
df_median = df.fillna(df.median())
print(df_median)
print(df_mode)
231263107050
print(df_constant)
df_ffill = df.fillna(method='ffill')
print(df_ffill)
df_bfill = df.fillna(method='bfill')
print(df_bfill)
df_interpolated = df.interpolate()
print(df_interpolated)
OUTPUT:
231263107050
EXPERIMENT NO: 9
PROGRAM:
import pandas as pd
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.xlabel('Languages')
231263107050
plt.ylabel('Popularity')
plt.subplot(1, 2, 2)
plt.tight_layout()
plt.show()
OUTPUT:
231263107050
EXPERIMENT NO: 10
Scikit-learn is one of the most popular and widely-used libraries in Python for data
science and machine learning. It provides a simple, efficient, and flexible interface for a
wide range of machine learning tasks, such as classification, regression, clustering, and
dimensionality reduction. It is built on top of other fundamental scientific Python libraries
like NumPy, SciPy, and Matplotlib.