Create a python program called t9.py. Add the following functions to this program. Write a main() function to call and test all other functions. Problem 1 (Displaying Dictionaries) Write a function called display(d) that takes a dictionary as its single input parameter. This function will then print the dictionary to the terminal (in no particular order).  Sample run: >>> d = {'a':1, 'b':2, 'c':3} >>> print(d) {'a': 1, 'b': 2, 'c': 3} >>> display(d) a, 1 b, 2 c, 3

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Create a python program called t9.py. Add the following functions to this program. Write a main() function to call and test all other functions.

Problem 1 (Displaying Dictionaries)

Write a function called display(d) that takes a dictionary as its single input parameter. This function will then print the dictionary to the terminal (in no particular order). 

Sample run:

>>> d = {'a':1, 'b':2, 'c':3}

>>> print(d)
{'a': 1, 'b': 2, 'c': 3}
>>> display(d)

a, 1

b, 2

c, 3

 

Problem 2 [Safe Add]

Write a function called safeAdd(d, k, v, unsafe=False) that takes either three or four input parameters when called. Here, d is a dictionary, k is a key and v is a value. The function will add the key:value pair k:v to the dictionary d if the key k is NOT in the dictionary.

If the key is in the dictionary, the function will display the current value for that key, the new value you passed into the function and ask the user if they wish to proceed and overwrite the existing value.

If the optional fourth parameter is True, then just add the key:value pair without checking if the key is already present.

Sample run (user input is boldened and underlined)

>>> d = {'A':1}
>>> safeAdd(d, 'B', 3}
>>> display(d)
A, 1
B, 3
>>> safeAdd(d, 'B', 2)
The key B is already in the dictionary.
Current value is 3. Do you want to replace this value with 2?

[yes/no] yes
>>> display(d)
A, 1
B, 2
>>> safeAdd(d, 'A', 12)
The key A is already in the dictionary.
Current value is 1. Do you want to replace this value with 12?

[yes/no] no
>>> display(d)

A, 1
B, 2
>>> safeAdd(d,'A', 22, unsafe=True) >>> d['A']
22

Problem 3 (Merging Dictionaries)

Write a function called merge1(d1,d2) that takes two dictionaries as input parameters. This function will create a new dictionary that contains everything from the two input dictionaries and return it. For this problem, you can assume that the input dictionaries do not have any keys in common. Create a few dictionaries, print them to screen using the function created above. After this, merge them using the function you wrote and print the result to the terminal.

Sample run,

>>> d1 = {'A': 100, ‘C':300} >>> d2 = {'B': 200, 'D':400} >>> d3 = merge1(d1,d2)
>>> display(d3)

A, 100
B, 200
D, 400
C, 300
 

Problem 4 (Merging Dictionaries Again)

Write a function called merge2(d1,d2) that takes two dictionaries as input parameters. This function will create a new dictionary that contains everything from the two input dictionaries and return it. The same key might appear in both input dictionaries. In the output dictionary, the value for each key will be a list that has all values corresponding to this key in the two input dictionaries.

Sample run,

>>> d1 = {'a': 100, 'b': 200, 'c':300}

>>> d2 = {'a': 300, 'b': 200, 'd':400}

>>> d3 = merge2(d1,d2)

>>> display(d3)
a, [100,300]

b, [200,200]

c, [300]

d, [400]

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY