0% found this document useful (0 votes)
9 views

Computerscience

Computer project

Uploaded by

dev.5sarkar.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Computerscience

Computer project

Uploaded by

dev.5sarkar.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 15

1.

Functions (5 to 6 programs)

Program 1: Calculate Factorial


python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

print(factorial(5)) # Output: 120

*Output:*

120

Program 2: Check Prime Number


python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True

print(is_prime(11)) # Output: True


print(is_prime(4)) # Output: False

*Output:*

True
False

Program 3: Fibonacci Series


python
def fibonacci(n):
fib_series = [0, 1]
while len(fib_series) < n:
fib_series.append(fib_series[-1] + fib_series[-2])
return fib_series

print(fibonacci(10)) # Output: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

*Output:*

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

Program 4: Sum of List Elements


python
def sum_of_list(lst):
return sum(lst)

print(sum_of_list([1, 2, 3, 4, 5])) # Output: 15

*Output:*
15

Program 5: Reverse a String


python
def reverse_string(s):
return s[::-1]

print(reverse_string("Hello")) # Output: "olleH"

*Output:*

olleH

Program 6: Find Maximum Number in a List


python
def find_max(lst):
return max(lst)

print(find_max([1, 2, 3, 4, 5])) # Output: 5

*Output:*

2. File Handling (10 programs)

Program 1: Write to a File


python
def write_to_file(filename, content):
with open(filename, 'w') as file:
file.write(content)

write_to_file('example.txt', 'Hello, World!')

*Output:*

Content written to example.txt (Check the file "example.txt")

Program 2: Read from a File


python
def read_from_file(filename):
with open(filename, 'r') as file:
return file.read()

print(read_from_file('example.txt')) # Output: "Hello, World!"

*Output:*

Hello, World!

Program 3: Append to a File


python
def append_to_file(filename, content):
with open(filename, 'a') as file:
file.write(content)

append_to_file('example.txt', '\nAppend this text.')

*Output:*

Content appended to example.txt (Check the file "example.txt")

Program 4: Count Words in a File


python
def count_words(filename):
with open(filename, 'r') as file:
content = file.read()
words = content.split()
return len(words)

print(count_words('example.txt')) # Output will vary based on the file content

*Output:*

Output will vary (Count of words in "example.txt")

Program 5: Copy File Content


python
def copy_file(source, destination):
with open(source, 'r') as src:
content = src.read()
with open(destination, 'w') as dest:
dest.write(content)

copy_file('example.txt', 'example_copy.txt')

*Output:*

Content copied to example_copy.txt (Check the file "example_copy.txt")

Program 6: Count Lines in a File


python
def count_lines(filename):
with open(filename, 'r') as file:
return len(file.readlines())

print(count_lines('example.txt')) # Output will vary based on the file content

*Output:*

Output will vary (Count of lines in "example.txt")

Program 7: Read File Line by Line


python
def read_file_line_by_line(filename):
with open(filename, 'r') as file:
for line in file:
print(line.strip())
read_file_line_by_line('example.txt')

*Output:*

Hello, World!
Append this text.

Program 8: Write List to File


python
def write_list_to_file(filename, lst):
with open(filename, 'w') as file:
for item in lst:
file.write(f"{item}\n")

write_list_to_file('list.txt', [1, 2, 3, 4, 5])

*Output:*

List written to list.txt (Check the file "list.txt")

Program 9: Read List from File


python
def read_list_from_file(filename):
with open(filename, 'r') as file:
return [line.strip() for line in file]

print(read_list_from_file('list.txt')) # Output: [1, 2, 3, 4, 5]

*Output:*

['1', '2', '3', '4', '5']

Program 10: Find Longest Line in a File


python
def find_longest_line(filename):
with open(filename, 'r') as file:
longest = ''
for line in file:
if len(line) > len(longest):
longest = line
return longest.strip()

print(find_longest_line('example.txt')) # Output will vary based on the file


content

*Output:*

Append this text.

3. Data Structures (9 to 15 programs)

Program 1: Stack Implementation


python
class Stack:
def __init__(self):
self.items = []

def push(self, item):


self.items.append(item)

def pop(self):
if not self.is_empty():
return self.items.pop()

def is_empty(self):
return len(self.items) == 0

def peek(self):
if not self.is_empty():
return self.items[-1]

def size(self):
return len(self.items)

stack = Stack()
stack.push(1)
stack.push(2)
print(stack.pop()) # Output: 2
print(stack.peek()) # Output: 1
print(stack.size()) # Output: 1

*Output:*

2
1
1

Program 2: Queue Implementation


python
class Queue:
def __init__(self):
self.items = []

def enqueue(self, item):


self.items.insert(0, item)

def dequeue(self):
if not self.is_empty():
return self.items.pop()

def is_empty(self):
return len(self.items) == 0

def size(self):
return len(self.items)

queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
print(queue.dequeue()) # Output: 1
print(queue.size()) # Output: 1

*Output:*
1
1

Program 3: Linked List Implementation


python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None

class LinkedList:
def __init__(self):
self.head = None

def insert(self, data):


new_node = Node(data)
new_node.next = self.head
self.head = new_node

def print_list(self):
current = self.head
while current:
print(current.data, end=' ')
current = current.next

ll = LinkedList()
ll.insert(1)
ll.insert(2)
ll.insert(3)
ll.print_list() # Output: 3 2 1

*Output:*

3 2 1

Program 4: Binary Search Tree Implementation


python
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key

def insert(root, key):


if root is None:
return TreeNode(key)
else:
if root.val < key:
root.right = insert(root.right, key)
else:
root.left = insert(root.left, key)
return root

def inorder(root):
if root:
inorder(root.left)
print(root.val, end=' ')
inorder(root.right)

root = TreeNode(50)
root = insert(root, 30)
root = insert(root, 20)
root = insert(root, 40)
root = insert(root, 70)
root = insert(root, 60)
root = insert(root, 80)

inorder(root) # Output: 20 30 40 50 60 70 80

*Output:*

20 30 40 50 60 70 80

Program 5: Hash Table Implementation

python
class HashTable:
def __init__(self):
self.size = 10
self.table = [[] for _ in range(self.size)]

def hash_function(self, key):


return key % self.size

def insert(self, key, value):


hash_key = self.hash_function(key)
key_exists = False
bucket = self.table[hash_key]
for i, kv in enumerate(bucket):
k, v = kv
if key == k:
key_exists = True
break
if key_exists:
bucket[i] = (key, value)
else:
bucket.append((key, value))

def search(self, key):


hash_key = self.hash_function(key)
bucket = self.table[hash_key]
for k, v in bucket:
if key == k:
return v
return None

hash_table = HashTable()
hash_table.insert(1, 'One')
hash_table.insert(2, 'Two')
hash_table.insert(12, 'Twelve')
print(hash_table.search(1)) # Output: One
print(hash_table.search(12)) # Output: Twelve
print(hash_table.search(5)) # Output: None
*Output:*

One
Twelve
None

Program 6: Graph Representation (Adjacency List)

python
class Graph:
def __init__(self):
self.graph = {}

def add_edge(self, node, neighbor):


if node not in self.graph:
self.graph[node] = []
self.graph[node].append(neighbor)

def display(self):
for node in self.graph:
print(node, '->', ' -> '.join([str(neighbor) for neighbor in
self.graph[node]]))

graph = Graph()
graph.add_edge(0, 1)
graph.add_edge(0, 2)
graph.add_edge(1, 2)
graph.add_edge(2, 0)
graph.add_edge(2, 3)
graph.add_edge(3, 3)
graph.display()

*Output:*

0 -> 1 -> 2
1 -> 2
2 -> 0 -> 3
3 -> 3

Program 7: Breadth-First Search (BFS)

python
from collections import deque

def bfs(graph, start):


visited = set()
queue = deque([start])
while queue:
vertex = queue.popleft()
if vertex not in visited:
print(vertex, end=' ')
visited.add(vertex)
queue.extend(set(graph[vertex]) - visited)

graph = {
0: [1, 2],
1: [2],
2: [0, 3],
3: [3]
}
bfs(graph, 2) # Output: 2 0 3 1

*Output:*

2 0 3 1

Program 8: Depth-First Search (DFS)

python
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start, end=' ')
for next in set(graph[start]) - visited:
dfs(graph, next, visited)

graph = {
0: [1, 2],
1: [2],
2: [0, 3],
3: [3]
}
dfs(graph, 2) # Output: 2 0 1 3

*Output:*

2 0 1 3

Program 9: Insertion Sort

python
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr

print(insertion_sort([12, 11, 13, 5, 6])) # Output: [5, 6, 11, 12, 13]

*Output:*

[5, 6, 11, 12, 13]

4. Python-MySQL Connectivity (Airlines Context)

Program 1: Connect to MySQL Database

python
import mysql.connector
def connect_db():
return mysql.connector.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='yourdatabase'
)

db = connect_db()
if db.is_connected():
print('Connected to MySQL database')

*Output:*

Connected to MySQL database

Program 2: Create Tables

python
def create_tables():
db = connect_db()
cursor = db.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS Staff (
staff_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
position VARCHAR(255) NOT NULL,
salary DECIMAL(10, 2)
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS Flights (
flight_id INT AUTO_INCREMENT PRIMARY KEY,
airline VARCHAR(255) NOT NULL,
destination VARCHAR(255) NOT NULL,
departure_time TIME NOT NULL
)
''')
db.close()

create_tables()

*Output:*

No output (Tables are created in the database)

Program 3: Insert Data into Tables

python
def insert_staff(name, position, salary):
db = connect_db()
cursor = db.cursor()
sql = 'INSERT INTO Staff (name, position, salary) VALUES (%s, %s, %s)'
val = (name, position, salary)
cursor.execute(sql, val)
db.commit()
db.close()

def insert_flight(airline, destination, departure_time):


db = connect_db()
cursor = db.cursor()
sql = 'INSERT INTO Flights (airline, destination, departure_time) VALUES (%s,
%s, %s)'
val = (airline, destination, departure_time)
cursor.execute(sql, val)
db.commit()
db.close()

insert_staff('Alice Brown', 'Pilot', 95000)


insert_staff('Bob Smith', 'Flight Attendant', 45000)
insert_flight('Air India', 'New York', '10:30:00')
insert_flight('Lufthansa', 'Berlin', '14:00:00')

*Output:*

No output (Data is inserted into the database)

Program 4: Fetch Data from Tables

python
def fetch_staff():
db = connect_db()
cursor = db.cursor()
cursor.execute('SELECT * FROM Staff')
result = cursor.fetchall()
for row in result:
print(row)
db.close()

def fetch_flights():
db = connect_db()
cursor = db.cursor()
cursor.execute('SELECT * FROM Flights')
result = cursor.fetchall()
for row in result:
print(row)
db.close()

fetch_staff()
fetch_flights()

*Output:*

(1, 'Alice Brown', 'Pilot', 95000.00)


(2, 'Bob Smith', 'Flight Attendant', 45000.00)
(1, 'Air India', 'New York', '10:30:00')
(2, 'Lufthansa', 'Berlin', '14:00:00')

Program 5: Update Data in Tables

python
def update_staff_salary(name, new_salary):
db = connect_db()
cursor = db.cursor()
sql = 'UPDATE Staff SET salary = %s WHERE name = %s'
val = (new_salary, name)
cursor.execute(sql, val)
db.commit()
db.close()

def update_flight_time(flight_id, new_time):


db = connect_db()
cursor = db.cursor()
sql = 'UPDATE Flights SET departure_time = %s WHERE flight_id = %s'
val = (new_time, flight_id)
cursor.execute(sql, val)
db.commit()
db.close()

update_staff_salary('Alice Brown', 100000)


update_flight_time(1, '11:00:00')

*Output:*

No output (Data is updated in the database)

Program 6: Delete Data from Tables

python
def delete_staff(name):
db = connect_db()
cursor = db.cursor()
sql = 'DELETE FROM Staff WHERE name = %s'
val = (name,)
cursor.execute(sql, val)
db.commit()
db.close()

def delete_flight(flight_id):
db = connect_db()
cursor = db.cursor()
sql = 'DELETE FROM Flights WHERE flight_id = %s'
val = (flight_id,)
cursor.execute(sql, val)
db.commit()
db.close()

delete_staff('Bob Smith')
delete_flight(2)

*Output:*

No output (Data is deleted from the database)

5. SQL Queries (Airlines Context)

Table 1: Staff

sql
CREATE TABLE Staff (
staff_id INT PRIMARY KEY,
name VARCHAR(255),
position VARCHAR(255),
salary DECIMAL(10, 2)
);

INSERT INTO Staff (staff_id, name, position, salary) VALUES


(1, 'Alice Brown', 'Pilot', 95000.00),
(2, 'Bob Smith', 'Flight Attendant', 45000.00),
(3, 'Charlie Davis', 'Co-pilot', 70000.00);

##### Queries

1. *Select all staff members:*


sql
SELECT * FROM Staff;

*Output:*

+----------+--------------+------------------+----------+
| staff_id | name | position | salary |
+----------+--------------+------------------+----------+
| 1 | Alice Brown | Pilot | 95000.00 |
| 2 | Bob Smith | Flight Attendant | 45000.00 |
| 3 | Charlie Davis| Co-pilot | 70000.00 |
+----------+--------------+------------------+----------+

2. *Find staff with salary greater than 60,000:*


sql
SELECT * FROM Staff WHERE salary > 60000;

*Output:*

+----------+--------------+------------------+----------+
| staff_id | name | position | salary |
+----------+--------------+------------------+----------+
| 1 | Alice Brown | Pilot | 95000.00 |
| 3 | Charlie Davis| Co-pilot | 70000.00 |
+----------+--------------+------------------+----------+

3. *Count total number of staff:*


sql
SELECT COUNT(*) FROM Staff;

*Output:*

+----------+
| COUNT(*) |
+----------+
| 3 |
+----------+

4. *Find the average salary of staff:*


sql
SELECT AVG(salary) FROM Staff;
*Output:*

+-------------+
| AVG(salary) |
+-------------+
| 70000.0000 |
+-------------+

5. *Find staff by position:*


sql
SELECT * FROM Staff WHERE position = 'Pilot';

*Output:*

+----------+--------------+----------+----------+
| staff_id | name | position | salary |
+----------+--------------+----------+----------+
| 1 | Alice Brown | Pilot | 95000.00 |
+----------+--------------+----------+----------+

Table 2: Flights

sql
CREATE TABLE Flights (
flight_id INT PRIMARY KEY,
airline VARCHAR(255),
destination VARCHAR(255),
departure_time TIME
);

INSERT INTO Flights (flight_id, airline, destination, departure_time) VALUES


(1, 'Air India', 'New York', '10:30:00'),
(2, 'Lufthansa', 'Berlin', '14:00:00'),
(3, 'Emirates', 'Dubai', '09:00:00');

##### Queries

1. *Select all flights:*


sql
SELECT * FROM Flights;

*Output:*

+----------+-----------+-------------+----------------+
| flight_id| airline | destination | departure_time |
+----------+-----------+-------------+----------------+
| 1 | Air India | New York | 10:30:00 |
| 2 | Lufthansa | Berlin | 14:00:00 |
| 3 | Emirates | Dubai | 09:00:00 |
+----------+-----------+-------------+----------------+

2. *Find flights to a specific destination:*


sql
SELECT * FROM Flights WHERE destination = 'Berlin';
*Output:*

+----------+-----------+-------------+----------------+
| flight_id| airline | destination | departure_time |
+----------+-----------+-------------+----------------+
| 2 | Lufthansa | Berlin | 14:00:00 |
+----------+-----------+-------------+----------------+

3. *Count total number of flights:*


sql
SELECT COUNT(*) FROM Flights;

*Output:*

+----------+
| COUNT(*) |
+----------+
| 3 |
+----------+

4. *Find the earliest departure time:*


sql
SELECT MIN(departure_time) FROM Flights;

*Output:*

+--------------------+
| MIN(departure_time)|
+--------------------+
| 09:00:00 |
+--------------------+

5. *Find flights by airline:*


sql
SELECT * FROM Flights WHERE airline = 'Emirates';

*Output:*

+----------+-----------+-------------+----------------+
| flight_id| airline | destination | departure_time |
+----------+-----------+-------------+----------------+
| 3 | Emirates | Dubai | 09:00:00 |
+----------+-----------+-------------+----------------+

You might also like