Professional Documents
Culture Documents
Task 1
Task 1
Intro:
It’s a simple implementation of address book manager using list manipulation functions and
python and write operations. This program lets you maintain a list of aspects that include names,
emails, and other information. It includes functions such as adding, deleting, updating, and
searching entries. It also guarantees that email addresses are unique and performs validation
checks. The entries may be saved to and loaded from a file, making maintaining the data simple.
Code:
def load_entries(file_name):
try:
with open(file_name, 'r') as file:
entries = []
lines = file.readlines()
for line in lines:
entry = line.strip().split(',')
if len(entry) == 4:
name, email, phone, address = entry
entries.append({'name': name, 'email': email, 'phone':
phone, 'address': address})
except FileNotFoundError:
entries = []
return entries
entries.append(entry)
print("Entry added successfully.")
def remove_entry(entries, email):
for entry in entries:
if entry['email'] == email:
entries.remove(entry)
print("Entry removed successfully.")
return
if results:
print("Search results:")
for entry in results:
print(f"Name: {entry['name']}, Email: {entry['email']}, Phone:
{entry['phone']}, Address: {entry['address']}")
else:
print("No matching entries found.")
def print_entries(entries):
if entries:
print("All entries:")
for entry in entries:
print(f"Name: {entry['name']}, Email: {entry['email']}, Phone:
{entry['phone']}, Address: {entry['address']}")
else:
print("No entries found.")
if command == 'read':
entries = load_entries(argument)
elif command == 'add':
entry_data = argument.split(',')
if len(entry_data) == 4:
name, email, phone, address = entry_data
new_entry = {'name': name.strip(), 'email': email.strip(), 'phone':
phone.strip(), 'address': address.strip()}
add_entry(entries, new_entry)
elif command == 'remove':
remove_entry(entries, argument.strip())
elif command == 'update':
entry_data = argument.split(',')
if len(entry_data) == 4:
name, email, phone, address = entry_data
updated_entry = {'name': name.strip(), 'email': email.strip(),
'phone': phone.strip(), 'address': address.strip()}
update_entry(entries, updated_entry)
elif command == 'search':
search_entries(entries, argument.strip())
elif command == 'print':
print_entries(entries)
elif command == 'save':
save_entries(entries, argument.strip())
print("Entries saved successfully.")
else:
print("Invalid action keyword.")
return entries
def main():
print("Welcome to the Adress entry management system!")
entries = []
while True:
user_input = input("Enter action keyword and input: ")
if user_input.lower() == 'exit':
break
if __name__ == '__main__':
main()
Conclusion:
This approach offers an intuitive user interface for managing a group of entries. It offers a range
of operations, including searching, updating, deleting, and adding entries. Features like email
validation, sorting, and data consistency through file handling are also included and implemented
in the approach. This application overall allows us to conveniently arrange and maintain address
list with the help of the specified features. Test the program out and see how easy it is to manage
your data efficiently.
Outputs: