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
Jlenok [28]
2 years ago
13

write a program that keeps names and email addresses in a dictionary as key-value pairs. the program should display a menu that

lets the user look up a person’s email address, add a new name and email address, change an existing email address, and delete an existing name and email address. the program should save the data stored in a dictionary to a file when the user exits the program. each time the program starts, it should retrieve the data from the file and store it in a dictionary. the program should include the following functions: a. a function to display a menu. b. a function to look up a person’s email address. c. a function to add a new name and email address. d. a function to change an email address. e. a function to delete a name and email address. f. a function to load emails from a file. g. a function to save emails in a file. h. write main function with a loop that displays the menu allowing the user to select an operation from the menu; the program continue until the user enter 5. i. validate all user input. your program should check user input; for example, if the user wants to search or delete a name that does not exist in the dictionary, you should print something like the name is not in the database. if the user selects invalid operation from the menu, the program prints an error and allows the user to renter a valid operation; the program continue asking for a valid operation until a user selects a valid operation.
Computers and Technology
1 answer:
erma4kov [3.2K]2 years ago
3 0

To write a program that keeps names and email addresses in a dictionary as key-value pairs check the code given below.

<h3>What is key-value pairs?</h3>

In a key-value pair, two related data elements are combined: a value, which is a variable that belongs to the set (for example, male/female, green, 100), and a key, which is a constant that defines the data set (for example, gender, color, price).

A key-value pair could look something like this when fully formed:

gender = male

color = green

price > 100

↓↓↓//<u>Python code</u>//↓↓↓

import pickle

import sys

try:

   f=open('email.dat','rb')

   d=pickle.load(f)  

   f.close()

     

except:    

   d={}

while True:

   print('\n1. Find a email address')

   print('2. Add name and email address')

   print('3. Change an email address')

   print('4. Delete an email address')

   print('5. Exit\n')

   choice=input('\nEnter a choice: ')

   if choice:

       choice=int(choice)

   else:

       print('\nEnter a number')

       continue    

   if choice == 1:

       while True:

           name=input('\nEnter the name ')

           if name:

               if name in d:

                   print('\n%s is the email id of %s \n' % (d[name],name))

                   break

               else:

                   print('\n Email not found \n')

                   break

           else:

               print('\nName cannot be empty\n')

               continue

           

   elif choice==2:

       while True:            

       

           name=input('\nEnter the name ')

           if name:

               break;

           else:

               print('\nName cannot be empty \n')

               continue

       while True:            

       

           email=input('\nEnter the email address ')

           if email:

               d[name]=email

               break

           else:

               print('\nEmail cannot be empty\n')

               continue

           

   elif choice==3:

       while True:            

       

           name=input('\nEnter the name to change the email address ')

           if name:

               if name in d:

                   email=input('\nEnter the new email address ')

                   d[name]=email

                   print('\nEmail address changed \n')

                   break;

               else:

                   print('\nName not found \n')

                   break

           else:

               print('\nName cannot be empty \n')

               continue

           

   elif choice == 4:

       while True:            

       

           name=input('\nEnter the name to remove ')

           if name:

               if name in d:

                   del d[name]

                   print('\nName and Email address removed \n ')

                   break;

               else:

                   print('\nName not found \n')

                   break

           else:

               print('\nName cannot be empty\n')

               continue

   elif choice == 5:

       

       f=open('email.dat','wb')

       pickle.dump(d,f)

       f.close()

       sys.exit()

   else:

       print('\nEnter a valid choice ')    

Learn more about key-value pair

brainly.com/question/29414672

#SPJ1

You might be interested in
My iOS 14 homeschool not decorate its plain and looks how it was before I don’t have have to spend hours decorating I’m not crea
ella [17]

Answer:

No ONe cares about your ios 4 software

Explanation:

I just don't care

7 0
3 years ago
A spreadsheet is _____.
spin [16.1K]

Answer: <u>A spreadsheet is a software used to input, track, and calculate numbers. </u>

<u></u>

***If you found my answer helpful, please give me the brainliest. :) ***

8 0
3 years ago
How to check if students viewed an assignment canvas.
Greeley [361]
Which app are you using?
6 0
2 years ago
You are responsible for performing all routine maintenance on your company's laser printers. Which of the following maintenance
Luden [163]

Answer:

B. installing the maintenance kit

Explanation:

page count keeps track of how many number of pages that have been printed since the installation of the last maintenance kit. When a new maintenance kit is installed on most Laser printers, the page count is reset because it does not automatically clears most times, hence, there's the need to clear the count manually.

4 0
4 years ago
Middle of test help pls
olganol [36]

Answer:

I'm thinking d

Explanation:

i dont think we are advanced enough to do a,b, or c.

so imma say d

5 0
3 years ago
Read 2 more answers
Other questions:
  • According to the ________ definition of organizations, an organization is seen as a means by which primary production factors ar
    14·1 answer
  • Tom is required to present the activities of his Nature club each month to the school committee. Which presentation element can
    12·2 answers
  • Differentiate between Software as a service, platform as a service and infrastructure as a service.
    14·1 answer
  • Write an essay of at least 300 words explaining your position on a proposed ban of Wikipedia in your future college. You should
    12·1 answer
  • Which of the following involves making a reasoned analysis of an opportunity, envisioning potential solutions, evaluating those
    5·1 answer
  • TRY IT Choose the Right Technology MP3 player Widescreen laptop computer Smartphone Tablet computer with wireless Internet Suppo
    8·2 answers
  • A tornado destroyed many
    6·2 answers
  • ??????????????????????????
    13·1 answer
  • What makes up the cloud in cloud computing ?
    8·1 answer
  • Which Internet protocol (IP) packet fragmentation header field specifies where the fragment belongs in the original datagram
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!