1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
mote1985 [20]
3 years ago
12

In this exercise, you will get some practice with the __add__ method by implementing it for a class called ContactBook. This cla

ss represents a collection of names and phone numbers. ContactBook stores its information as a dictionary, where the key is a name and the value is a phone number or group of phone numbers. The keys and values in this dictionary are stored as strings. When printed, a ContactBook might look like this:
Computers and Technology
1 answer:
Wittaler [7]3 years ago
8 0

Answer:

class ContactBook():

   def __init__(self):

       self.contacts ={}

   def __repr__(self):

       return str(self.contacts)

   def add_contact(self,name,number):

       self.contacts[name] = number

   def __add__(self, other):

       new_contact = ContactBook()

       other_contact = other.contacts.keys()

       for name,num in self.contacts.items():

           if name in other_contact:

               new_contact.add_contact(name,num or other_contact[name])

           else:

               new_contact.add_contact(name,num)

       for name,num in other.contacts.items():

           if name not in self.contacts:

               new_contact.add_contact(name, num)

       return new_contact-

cb1 = ContactBook()

cb2 = ContactBook()

cb1.add_contact('Jonathan','444-555-6666')

cb1.add_contact('Puneet','333-555-7777')

cb2.add_contact('Jonathan','222-555-8888')

cb2.add_contact('Lisa','111-555-9999')

print(cb1)

print(cb2)

cb3 = cb1+cb2

print(cb3)

Explanation:

The ContactBook class holds the contact details of an instance of the class. The class has three magic methods the '__repr__', '__init__', and the '__add__' which is the focus of the code. The add magic method in the class adds the contact book (dictionary) of two added object instance and returns a new class with the contact details of both operand instances which is denoted as self and other.

You might be interested in
[1] Please find all the candidate keys and the primary key (or composite primary key) Candidate Key: _______________________ Pri
AVprozaik [17]

Answer:

Check the explanation

Explanation:

1. The atomic attributes can't be a primary key because the values in the respective attributes should be unique.

So, the size of the primary key should be more than one.

In order to find the candidate key, let the functional dependencies be obtained.

The functional dependencies are :

Emp_ID -> Name, DeptID, Marketing, Salary

Name -> Emp_ID

DeptID -> Emp_ID

Marketing ->  Emp_ID

Course_ID -> Course Name

Course_Name ->  Course_ID

Date_Completed -> Course_Name

Closure of attribute { Emp_ID, Date_Completed } is { Emp_ID, Date_Completed , Name, DeptID, Marketing, Salary, Course_Name, Course_ID}

Closure of attribute { Name , Date_Completed } is { Name, Date_Completed , Emp_ID , DeptID, Marketing, Salary, Course_Name, Course_ID}

Closure of attribute { DeptID, Date_Completed } is { DeptID, Date_Completed , Emp_ID,, Name, , Marketing, Salary, Course_Name, Course_ID}

Closure of attribute { Marketing, Date_Completed } is { Marketing, Date_Completed , Emp_ID,, Name, DeptID , Salary, Course_Name, Course_ID}.

So, the candidate keys are :

{ Emp_ID, Date_Completed }

{ Name , Date_Completed }

{ DeptID, Date_Completed }

{ Marketing, Date_Completed }

Only one candidate key can be a primary key.

So, the primary key chosen be { Emp_ID, Date_Completed }..

2.

The functional dependencies are :

Emp_ID -> Name, DeptID, Marketing, Salary

Name -> Emp_ID

DeptID -> Emp_ID

Marketing ->  Emp_ID

Course_ID -> Course Name

Course_Name ->  Course_ID

Date_Completed -> Course_Name

3.

For a relation to be in 2NF, there should be no partial dependencies in the set of functional dependencies.

The first F.D. is

Emp_ID -> Name, DeptID, Marketing, Salary

Here, Emp_ID -> Salary ( decomposition rule ). So, a prime key determining a non-prime key is a partial dependency.

So, a separate table should be made for Emp_ID -> Salary.

The tables are R1(Emp_ID, Name, DeptID, Marketing, Course_ID, Course_Name, Date_Completed)

and R2( Emp_ID , Salary)

The following dependencies violate partial dependency as a prime attribute -> prime attribute :

Name -> Emp_ID

DeptID -> Emp_ID

Marketing ->  Emp_ID

The following dependencies violate partial dependency as a non-prime attribute -> non-prime attribute :

Course_ID -> Course Name

Course_Name ->  Course_ID

So, no separate tables should be made.

The functional dependency Date_Completed -> Course_Name has a partial dependency as a prime attribute determines a non-prime attribute.

So, a separate table is made.

The final relational schemas that follows 2NF are :

R1(Emp_ID, Name, DeptID, Marketing, Course_ID, Course_Name, Date_Completed)

R2( Emp_ID , Salary)

R3 (Date_Completed, Course_Name, Course_ID)

For a relation to be in 3NF, the functional dependencies should not have any transitive dependencies.

The functional dependencies in R1(Emp_ID, Name, DeptID, Marketing, Date_Completed) is :

Emp_ID -> Name, DeptID, Marketing

This violates the transitive property. So, no table is created.

The functional dependencies in R2 (  Emp_ID , Salary) is :

Emp_ID -> Salary

The functional dependencies in R3 (Date_Completed, Course_Name, Course_ID) are :

Date_Completed -> Course_Name

Course_Name   ->  Course_ID

Here there is a transitive dependency as a non- prime attribute ( Course_Name ) is determining a non-attribute ( Course_ID ).

So, a separate table is made with the concerned attributes.

The relational schemas which support 3NF re :

R1(Emp_ID, Name, DeptID, Course_ID, Marketing, Date_Completed) with candidate key as Emp_ID.

R2 (  Emp_ID , Salary) with candidate key Emp_ID.

R3 (Date_Completed, Course_Name ) with candidate key Date_Completed.

R4 ( Course_Name, Course_ID ).  with candidate keys Course_Name and Course_ID.

6 0
3 years ago
What is the difference between a syntax error and a logical error?
RoseWind [281]
A syntax error can be a simple mistake as a typo or an extra space. A logical error has to do with the code structure, and if it makes sense.

Hope this helps!
5 0
3 years ago
The open items on your computer are displayed here.
koban [17]
The GUI or Graphical <u /><u></u><em />User Interface.
7 0
3 years ago
Font size, font style, and _______ are all aspects of character formatting.
mel-nik [20]
The answer, im prettysure, is d. typeface.
hope this helps (:

6 0
3 years ago
Read 2 more answers
4.9 Code Practice: Question 4
hichkok12 [17]

total = 0

i = 0

while i < 10:

   temp = float(input("Enter Temperature: "))

   total += temp

   i += 1

print("Sum =", str(total))

I hope this helps!

7 0
3 years ago
Other questions:
  • The act of engaging in crime through the use of a computer or similar type of device is called:
    8·1 answer
  • Which of the following describes the function of a web browser?
    11·1 answer
  • Can anyone find any words in here?
    14·2 answers
  • What is the purpose of an internet protocol address (ip address)? it specifies whether a computer is using a broadband network o
    10·1 answer
  • What in the LAN for a small office, some user devices connect to the LAN using a cable, while others connect using wireless tech
    14·1 answer
  • Splunk knows where to break the event, where the time stamp is located and how to automatically create field value pairs using t
    7·1 answer
  • The first step to accurate coding is to identify the ___________ in the diagnostic statement.
    7·1 answer
  • What is required to become a good critical thinker? Use a process when dealing with a big issue. Practice the right skills over
    9·1 answer
  • These are pictorial images displayed on a computer screen​
    8·1 answer
  • Write a while loop that continues to increment uservalue by 5 as long as uservalue is less than 0.
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!