In this exercise, you will get some practice with the __add__ method by implementing it for a class called ContactBook. This class 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:

Answers

Answer 1

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.


Related Questions

-(-13) P binary using signed. 2's complement representation
Perform the arithmetic operations (+42) + (-13) and (-42)
negative .
Consider the balloon​

Answers

Answer:

00011101

00011101

Explanation:

Given the following arithmetic operations

a)   (+42) + (-13)

b)   (-42) - (-13)

From (a):

We need to convert +42 into binary, so we get = 00101010

Now for +13, when it is converted into binary, we get = 00001101

But, here, the 13 is negative. So, here is what we will do, we will have to take the two compliment of the binary. After doing that, we get = 111110011

+ 42     →     00101010

- 13      →     1 1 1 10011

+29             000 11101  

Thus, the arithmetic operation after we use 2's complement is 00011101

b)

Here both 42 and 13 are negative. Using two complement representation

-42 is first converted to binary as 00101010, Then → 11010101 + 1 = 11010110

-13 is converted to binary as 00001101 → 11110010 = 11110011

In between, a negative sign exists, so we take another 2's complement.

i.e.

11110011 → 00001100 + 1 = 00001101

- 42 →     1 1 01 0110

+13  →     00001 101

-29         1 1 1 00011

since there is no carry, we take two's complements for the result as:

1 1 1 00011 →00011100 + 1 = 00011101

Consider the following method, which is intended to return an array of integers that contains the elements of the parameter arr arranged in reverse order. For example array containing (-5, 3, 2, 7) then a new array (-5, 3, 2, 7) contains should be returned and the parameter are should be left unchanged .

public static int[] reverse(int) arr)
Intl new new intarr.length);
for (int k = 0; K arr.length: )
* Bissing statement / return newer;

Write down the statements that can be used to replace / Missing statement so that the method works as intended?

Answers

Code:

public static int[] reverse(int [] arr){

Int [] newArr = new int[arr.length];

for (int k = 0; k<arr.length;k++){

/*Missing statement */

}

return newArr;

Answer:

Replace the comment with:

newArr[k] = arr[arr.length-k];

Explanation:

Required

Complete the code

In the given code:

The first line of the given code defines the method

public static int[] reverse(int [] arr){

The next line declares array newArr withe same length as array arr

Int [] newArr = new int[arr.length];

The next line iterates through the elements of array arr

for (int k = 0; k<arr.length;k++){

The /* Missing statement */ is then replaced with:

newArr[k] = arr[arr.length-k];

The above statement gets the elements of array arr in reversed order.

This is so because, as the iteration iterates through array arr in ascending order, arr.length-k gets the element in reversed order

Write a program with total change amount as an integer input, and output the change using the fewest coins, one coin type per line. The coin types are Dollars, Quarters, Dimes, Nickels, and Pennies. Use singular and plural coin names as appropriate, like 1 Penny vs. 2 Pennies.
If input is 0 or less, output is 'No Change'
For Example: Input: 45
Output:
1 Quarter
2 Dimes
input_val = int(input())
if input_val <= 0:
print('No change')
else:
num_dollars == input_val // 100
input_val %= 100
num_quarters == input_val // 25
input_val %= 25
num_dimes == input_val // 10
input_val %= 10
num_nickels == input_val // 5
input_val %= 5
num_pennies == input_val
if num_dollars > 1:
print('%d dollars' % num_dollars)
elif num_dollars ==1:
print('%d dollar' % num_dollars)
if num_quarters > 1:
print('%d quarters' % num_quarters)
elif num_quarters ==1:
print('%d quarter' % num_quarters)
if num_dimes >1:
print('%d dimes' % num_dimes)
elif num_dimes ==1:
print('%d dime' % num_dimes)
if num_nickels >1:
print('%d nickels' % num_nickels)
elif num_nickels ==1:
print('%d nickel' % num_nickels)
if num_pennies >1:
print('%d pennies' % num_pennies)
elif num_pennies ==1:
print('%d penny' % num_pennies)

Answers

Answer:

b ,/knlk

Explanation:

Question # 2 Multiple Choice The _____ method returns an integer between the two provided numbers. It can take the value of either of the provided numbers. seed randint random range

Answers

Answer:

randint

Explanation:

Answer:

randint

Explanation:

ed 2021

Other Questions
Subject is Art pls helpHow does culture impact Symbolism? (Whole question) 1. How long is segment ML ? Chemical energy is the stored form of chemical bonds containing combinations of which elements? Select THREE (3) elements. *CarbonNitrogenHeliumHydrogenOxygenGold Most people in Medieval Europe read well and didn't need church officialto interpret the Bible for them. Amphibian fossils show that many past organisms were similar to:frogsturtlestoadsnone of the above Can anyone help me with these spanish problems? what is an antonym for the word sullen?A.cheerfulB.comfortableC.relaxedD.alert A pair of opposite ray RO and ray RQ Which fraction is equivalent to eight twelfths? There are four different ways that Roger can walk from his house to work. Which route is the shortest distance? (Hint: 1 yd 0.9 m)Route DistanceA 1350 feetB 1500 metersC 320 yardsD 4 kilometers How do I find the perimeter? Please help ! Describe how audit procedures involving tests of controls can provide indirect evidence about whether financial statement account balances are free of material misstatement. find the value of y for the given value of x y= x/3 ;x=12 8. (8G5) Using the diagram shown, find the value x and the value of y.Show your work.Cy65xADBAnswer x =y = 2 and 1/4 + 2 and 1/5 + 3 and 5/8 henry has his own dog washing business. his current business model charges by the weight of the dog Hii.. Which region receive the heaviest rainfall in the world ? Nikki used the calculations shown to determine whether a carton of 12 eggs or a carton of 18 eggs was the better buy.A carton of 12 eggs cost $2.39, and a carton of 18 eggs cost $3.39.Unit price of the 12-egg carton = ($2.39)(12 eggs) = $28.68 per eggUnit price of the 18-egg carton = ($3.39)(18 eggs) = $61.02 per eggThe 12-egg carton has the lower unit cost, so it is the better buy. I NEED HELP The graph below shows the distance traveled by four cars, A, B, C, and D, over a period of time.Which of the following statements can be concluded from the information on the graph?A. All cars traveled at least 90 kilometers.B. All cars traveled at different speeds.C. All cars traveled for 4 hours.D. All cars came to a stop, but at different times. Solve 3x + k= c for x.O'A. x = 3(c- k)O B. X=C+*3