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

computer code practical

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

computer code practical

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

1.Write a Python program to count the number of lines in a text file.

def count_lines_in_file(filename):

with open(filename, 'r') as file:

lines = file.readlines()

print(f"Number of lines: {len(lines)}")

count_lines_in_file('example.txt')

2.Write a Python program to read each line from a text file and store it in a list.

def read_lines_into_list(filename):

with open(filename, 'r') as file:

lines = [line.strip() for line in file]

return lines

lines_list = read_lines_into_list('example.txt')

print(lines_list)

3. Write a Python program to find and display the longest word in a text file.

def find_longest_word(filename):

with open(filename, 'r') as file:

words = file.read().split()

longest_word = max(words, key=len)

print(f"Longest word: {longest_word}")

find_longest_word('example.txt')

4. Write a Python program to replace a word in a text file with another word.

def replace_word_in_file(filename, old_word, new_word):

with open(filename, 'r') as file:

content = file.read()

content = content.replace(old_word, new_word)

with open(filename, 'w') as file:

file.write(content)

replace_word_in_file('example.txt', 'oldWord', 'newWord')


5. Write a Python program to merge the contents of two text files into a third file.

def merge_files(file1, file2, output_file):

with open(output_file, 'w') as outfile:

for filename in [file1, file2]:

with open(filename, 'r') as infile:

outfile.write(infile.read() + '\n')

merge_files('file1.txt', 'file2.txt', 'merged.txt')

6. Write a Python program to read a text file and display only the lines that contain a specific word.

def display_lines_with_word(filename, word):

with open(filename, 'r') as file:

lines = file.readlines()

for line in lines:

if word in line:

print(line.strip())

display_lines_with_word('example.txt', 'specificWord')

7. Write a Python program to read a text file and create a dictionary where the keys are the words and the
values are the counts of each word's occurrences.

def word_count_dictionary(filename):

with open(filename, 'r') as file:

content = file.read()

words = content.split()

word_count = {}

for word in words:

if word in word_count:

word_count[word] += 1

else:

word_count[word] = 1

return word_count
word_counts = word_count_dictionary('example.txt')

print(word_counts)

8. Write a Python program to read a text file, remove all the lines that contain a specific word, and save the
result to a new file.

def remove_lines_with_word(input_filename, output_filename, word):

with open(input_filename, 'r') as infile:

lines = infile.readlines()

with open(output_filename, 'w') as outfile:

for line in lines:

if word not in line:

outfile.write(line)

remove_lines_with_word('example.txt', 'filtered.txt', 'removeWord')

9. Write a Python program to read a text file and generate a new file that contains only the unique lines from
the original file (ignoring duplicates).

def remove_duplicate_lines(input_filename, output_filename):

with open(input_filename, 'r') as infile:

lines = infile.readlines()

unique_lines = list(dict.fromkeys(lines))

with open(output_filename, 'w') as outfile:

for line in unique_lines:

outfile.write(line)

remove_duplicate_lines('example.txt', 'unique_lines.txt')

10. Write a Python program that reads a text file of students' names and grades, calculates each student's
average grade, and writes the results (including whether they passed or failed) to a new file.

def calculate_student_averages(input_filename, output_filename):

with open(input_filename, 'r') as infile:

lines = infile.readlines()

with open(output_filename, 'w') as outfile:

outfile.write('Student, Average Grade, Status\n')

outfile.write('-----------------------------\n')
for line in lines:

parts = line.strip().split(',')

student_name = parts[0]

grades = list(map(int, parts[1:]))

average_grade = sum(grades) / len(grades)

status = 'Passed' if average_grade >= 60 else 'Failed'

outfile.write(f'{student_name}, {average_grade:.2f}, {status}\n')

calculate_student_averages('students_grades.txt', 'students_results.txt')

BINARY
1.Write a Python program to store a dictionary containing student names and their grades in a binary file and
then retrieve and print the data.

import pickle

# Dictionary of students and their grades

students_grades = {

'Alice': 85,

'Bob': 78,

'Charlie': 92,

'Diana': 88

# Write the dictionary to a binary file

with open('students_grades.bin', 'wb') as file:

pickle.dump(students_grades, file)

# Read the dictionary back from the binary file

with open('students_grades.bin', 'rb') as file:

loaded_grades = pickle.load(file)
print("Students and their grades:", loaded_grades)

2. Write a Python program to create a list of tuples where each tuple contains a student’s name and a list of
their scores. Store this list in a binary file and then read and display the contents.

import pickle

# List of tuples with student names and their scores

students_scores = [

('Alice', [85, 90, 78]),

('Bob', [72, 88, 91]),

('Charlie', [90, 95, 85]),

('Diana', [88, 76, 92])

# Write the list of tuples to a binary file

with open('students_scores.bin', 'wb') as file:

pickle.dump(students_scores, file)

# Read the list of tuples back from the binary file

with open('students_scores.bin', 'rb') as file:

loaded_scores = pickle.load(file)

print("Students and their scores:", loaded_scores)

3. Write a Python program to store a set of unique student IDs in a binary file and then retrieve and print the
set.

import pickle

# Set of unique student IDs

student_ids = {101, 102, 103, 104, 105}

# Write the set to a binary file

with open('student_ids.bin', 'wb') as file:


pickle.dump(student_ids, file)

# Read the set back from the binary file

with open('student_ids.bin', 'rb') as file:

loaded_ids = pickle.load(file)

print("Set of student IDs:", loaded_ids)

4. Write a Python program to store a list of dictionaries where each dictionary contains a student’s name, age,
and grade. Save this list to a binary file and then read and display the data.

import pickle

# List of dictionaries with student details

students_details = [

{'name': 'Alice', 'age': 16, 'grade': 'A'},

{'name': 'Bob', 'age': 17, 'grade': 'B'},

{'name': 'Charlie', 'age': 16, 'grade': 'A'},

{'name': 'Diana', 'age': 17, 'grade': 'B'}

# Write the list of dictionaries to a binary file

with open('students_details.bin', 'wb') as file:

pickle.dump(students_details, file)

# Read the list of dictionaries back from the binary file

with open('students_details.bin', 'rb') as file:

loaded_details = pickle.load(file)

print("Student details:", loaded_details)


5. Write a Python program to store a list of books where each book is represented as a dictionary with keys for
title, author, and year. Save this list to a binary file and then read and display the data.

import pickle

# List of books represented as dictionaries

books = [

{'title': 'To Kill a Mockingbird', 'author': 'Harper Lee', 'year': 1960},

{'title': '1984', 'author': 'George Orwell', 'year': 1949},

{'title': 'Moby Dick', 'author': 'Herman Melville', 'year': 1851},

{'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald', 'year': 1925}

# Write the list of books to a binary file

with open('books.bin', 'wb') as file:

pickle.dump(books, file)

# Read the list of books back from the binary file

with open('books.bin', 'rb') as file:

loaded_books = pickle.load(file)

print("Books in the library:", loaded_books)

6. Write a Python program to store multiple lists of different items (e.g., a list of student names, a list of grades,
and a list of subjects) in a binary file and then retrieve and display the lists.

import pickle

# Multiple lists of different items

student_names = ['Alice', 'Bob', 'Charlie', 'Diana']

grades = ['A', 'B', 'A', 'B']

subjects = ['Math', 'Science', 'English']

# Store the lists in a tuple

data = (student_names, grades, subjects)

# Write the tuple of lists to a binary file


with open('school_data.bin', 'wb') as file:

pickle.dump(data, file)

# Read the tuple of lists back from the binary file

with open('school_data.bin', 'rb') as file:

loaded_data = pickle.load(file)

print("Student names:", loaded_data[0])

print("Grades:", loaded_data[1])

print("Subjects:", loaded_data[2])

7. Write a Python program to store a list of tasks where each task is represented as a dictionary containing a
task name, due date, and priority level. Save this list to a binary file and then retrieve and display the tasks.

import pickle

# List of tasks, each task is a dictionary

tasks = [

{'Task': 'Complete homework', 'Due Date': '2024-09-15', 'Priority': 'High'},

{'Task': 'Read chapter 5', 'Due Date': '2024-09-10', 'Priority': 'Medium'},

{'Task': 'Buy groceries', 'Due Date': '2024-09-07', 'Priority': 'Low'},

{'Task': 'Prepare presentation', 'Due Date': '2024-09-12', 'Priority': 'High'}

# Write the list of tasks to a binary file

with open('tasks.bin', 'wb') as file:

pickle.dump(tasks, file)

# Read the list of tasks back from the binary file

with open('tasks.bin', 'rb') as file:

loaded_tasks = pickle.load(file)

print("Tasks List:")

for task in loaded_tasks:


print(f"Task: {task['Task']}, Due Date: {task['Due Date']}, Priority: {task['Priority']}")

8. Write a Python program to store a dictionary of student attendance where each student’s name is the key
and the value is a list of boolean values representing their attendance over a week (True for present, False for
absent). Save this data to a binary file and then retrieve and display the attendance records.

import pickle

# Dictionary of student attendance over a week

attendance = {

'Alice': [True, True, False, True, True],

'Bob': [True, False, True, False, True],

'Charlie': [True, True, True, True, True],

'Diana': [False, True, False, True, False]

# Write the attendance dictionary to a binary file

with open('attendance.bin', 'wb') as file:

pickle.dump(attendance, file)

# Read the attendance dictionary back from the binary file

with open('attendance.bin', 'rb') as file:

loaded_attendance = pickle.load(file)

print("Attendance Records:")

for student, days in loaded_attendance.items():

print(f"{student}: {['Present' if day else 'Absent' for day in days]}")

9. Write a Python program to store a dictionary of monthly expenses where the key is the month and the value
is a list of expenses for that month. Save this data to a binary file and then retrieve and display the expenses.

import pickle

# Dictionary of monthly expenses

expenses = {

'January': [200, 150, 300],


'February': [250, 180, 220],

'March': [230, 170, 310],

'April': [240, 200, 260]

# Write the expenses dictionary to a binary file

with open('expenses.bin', 'wb') as file:

pickle.dump(expenses, file)

# Read the expenses dictionary back from the binary file

with open('expenses.bin', 'rb') as file:

loaded_expenses = pickle.load(file)

print("Monthly Expenses:")

for month, expense_list in loaded_expenses.items():

print(f"{month}: {expense_list}")

10. Write a Python program to store a nested dictionary where the outer dictionary's keys are project names
and the values are dictionaries with task names as keys and task statuses (Completed/Incomplete) as values.
Save this data to a binary file and then retrieve and display the project tasks and statuses.

import pickle

# Nested dictionary of project tasks and their statuses

projects = {

'Project Alpha': {'Task 1': 'Completed', 'Task 2': 'Incomplete', 'Task 3': 'Completed'},

'Project Beta': {'Task 1': 'Incomplete', 'Task 2': 'Incomplete', 'Task 3': 'Completed'},

'Project Gamma': {'Task 1': 'Completed', 'Task 2': 'Completed', 'Task 3': 'Incomplete'}

# Write the nested dictionary to a binary file

with open('projects.bin', 'wb') as file:

pickle.dump(projects, file)

# Read the nested dictionary back from the binary file


with open('projects.bin', 'rb') as file:

loaded_projects = pickle.load(file)

print("Project Tasks and Statuses:")

for project, tasks in loaded_projects.items():

print(f"{project}:")

for task, status in tasks.items():

print(f" {task}: {status}")

CSV
1: Write a Python program that reads a CSV file containing student names and scores, and prints each student's
name and their average score.

import csv

def calculate_average(scores):

scores = list(map(float, scores))

return sum(scores) / len(scores)

def read_student_scores(filename):

with open(filename, 'r') as file:

reader = csv.reader(file)

next(reader) # Skip header

for row in reader:

name = row[0]

scores = row[1:]

average = calculate_average(scores)

print(f"Student: {name}, Average Score: {average:.2f}")

read_student_scores('students_scores.csv')
2: Write a Python program that writes a list of employee names and their salaries to a CSV file.

import csv

def write_employee_data(filename, employees):

with open(filename, 'w', newline='') as file:

writer = csv.writer(file)

writer.writerow(['Name', 'Salary'])

for name, salary in employees:

writer.writerow([name, salary])

employees = [('John Doe', 50000), ('Jane Smith', 60000), ('Alice Johnson', 55000)]

write_employee_data('employee_salaries.csv', employees)

3: Write a Python program that reads a CSV file of product information and prints products that are out of
stock.

import csv

def check_stock(filename):

with open(filename, 'r') as file:

reader = csv.reader(file)

next(reader) # Skip header

for row in reader:

product_name = row[0]

stock = int(row[2])

if stock == 0:

print(f"Out of stock: {product_name}")

check_stock('products.csv')

4: Write a Python program that updates the price of a specific product in a CSV file and saves the changes.

import csv

def update_product_price(filename, product_name, new_price):


rows = []

with open(filename, 'r') as file:

reader = csv.reader(file)

header = next(reader)

rows.append(header)

for row in reader:

if row[0] == product_name:

row[1] = new_price

rows.append(row)

with open(filename, 'w', newline='') as file:

writer = csv.writer(file)

writer.writerows(rows)

update_product_price('products.csv', 'Widget', '19.99')

5: Write a Python program that reads a CSV file containing student names and scores, and writes a new CSV file
with students who scored above a specified threshold.

import csv

def filter_high_scores(input_filename, output_filename, threshold):

with open(input_filename, 'r') as infile, open(output_filename, 'w', newline='') as outfile:

reader = csv.reader(infile)

writer = csv.writer(outfile)

header = next(reader)

writer.writerow(header)

for row in reader:

name = row[0]

scores = list(map(float, row[1:]))

average = sum(scores) / len(scores)

if average > threshold:

writer.writerow(row)
filter_high_scores('students_scores.csv', 'high_scorers.csv', 85)

6: Write a Python program that merges two CSV files with similar structures into one.

import csv

def merge_csv_files(file1, file2, output_file):

with open(file1, 'r') as f1, open(file2, 'r') as f2, open(output_file, 'w', newline='') as outfile:

reader1 = csv.reader(f1)

reader2 = csv.reader(f2)

writer = csv.writer(outfile)

header1 = next(reader1)

header2 = next(reader2)

if header1 == header2:

writer.writerow(header1)

else:

raise ValueError("CSV headers do not match")

for row in reader1:

writer.writerow(row)

for row in reader2:

writer.writerow(row)

merge_csv_files('file1.csv', 'file2.csv', 'merged.csv')

7: Write a Python program that reads a CSV file of books and their authors and creates a dictionary where the
authors are the keys and the list of their books are the values.

import csv

def create_author_book_dict(filename):
author_books = {}

with open(filename, 'r') as file:

reader = csv.reader(file)

next(reader) # Skip header

for row in reader:

book = row[0]

author = row[1]

if author not in author_books:

author_books[author] = []

author_books[author].append(book)

return author_books

author_books = create_author_book_dict('books.csv')

for author, books in author_books.items():

print(f"Author: {author}, Books: {', '.join(books)}")

8: Write a Python program that reads a CSV file containing names and birthdates and calculates the age of each
person. Write the results to a new CSV file.

import csv

from datetime import datetime

def calculate_age(birthdate):

today = datetime.today()

birthdate = datetime.strptime(birthdate, '%Y-%m-%d')

return today.year - birthdate.year - ((today.month, today.day) < (birthdate.month, birthdate.day))

def process_birthdates(input_filename, output_filename):

with open(input_filename, 'r') as infile, open(output_filename, 'w', newline='') as outfile:

reader = csv.reader(infile)

writer = csv.writer(outfile)

writer.writerow(['Name', 'Birthdate', 'Age'])

next(reader) # Skip header


for row in reader:

name = row[0]

birthdate = row[1]

age = calculate_age(birthdate)

writer.writerow([name, birthdate, age])

process_birthdates('birthdates.csv', 'ages.csv')

9: Write a Python program that reads a CSV file with sales data and calculates the total sales for each product.
Write the results to a new CSV file.

import csv

from collections import defaultdict

def calculate_total_sales(input_filename, output_filename):

sales_totals = defaultdict(float)

with open(input_filename, 'r') as infile:

reader = csv.reader(infile)

next(reader) # Skip header

for row in reader:

product = row[0]

amount = float(row[1])

sales_totals[product] += amount

with open(output_filename, 'w', newline='') as outfile:

writer = csv.writer(outfile)

writer.writerow(['Product', 'Total Sales'])

for product, total in sales_totals.items():

writer.writerow([product, total])

calculate_total_sales('sales.csv', 'total_sales.csv')
10: Write a Python program that reads a CSV file containing employee names and their monthly hours worked,
and calculates the total hours worked by each employee for the year (assuming 12 months). Write the results
to a new CSV file.

import csv

def calculate_yearly_hours(input_filename, output_filename):

employee_hours = {}

with open(input_filename, 'r') as infile:

reader = csv.reader(infile)

next(reader) # Skip header

for row in reader:

name = row[0]

monthly_hours = float(row[1])

yearly_hours = monthly_hours * 12

employee_hours[name] = yearly_hours

with open(output_filename, 'w', newline='') as outfile:

writer = csv.writer(outfile)

writer.writerow(['Employee Name', 'Yearly Hours'])

for name, hours in employee_hours.items():

writer.writerow([name, hours])

calculate_yearly_hours('monthly_hours.csv', 'yearly_hours.csv')

You might also like