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
aleksandr82 [10.1K]
3 years ago
13

Start with the following Python code. alphabet = "abcdefghijklmnopqrstuvwxyz" test_dups = ["zzz","dog","bookkeeper","subdermatog

lyphic","subdermatoglyphics"] test_miss = ["zzz","subdermatoglyphic","the quick brown fox jumps over the lazy dog"] # From Section 11.2 of: # Downey, A. (2015). Think Python: How to think like a computer scientist. Needham, Massachusetts: Green Tree Press. def histogram(s): d = dict() for c in s: if c not in d: d[c] = 1 else: d[c] += 1 return d Copy the code above into your program but write all the other code for this assignment yourself. Do not copy any code from another source. Part 1 Write a function called has_duplicates that takes a string parameter and returns True if the string has any repeated characters. Otherwise, it should return False. Implement has_duplicates by creating a histogram using the histogram function above. Do not use any of the implementations of has_duplicates that are given in your textbook. Instead, your implementation should use the counts in the histogram to decide if there are any duplicates. Write a loop over the strings in the provided test_dups list. Print each string in the list and whether or not it has any duplicates based on the return value of has_duplicates for that string. For example, the output for "aaa" and "abc" would be the following. aaa has duplicates abc has no duplicates Print a line like one of the above for each of the strings in test_dups. Part 2 Write a function called missing_letters that takes a string parameter and returns a new string with all the letters of the alphabet that are not in the argument string. The letters in the returned string should be in alphabetical order. Your implementation should use a histogram from the histogram function. It should also use the global variable alphabet. It should use this global variable directly, not through an argument or a local copy. It should loop over the letters in alphabet to determine which are missing from the input parameter. The function missing_letters should combine the list of missing letters into a string and return that string. Write a loop over the strings in list test_miss and call missing_letters with each string. Print a line for each string listing the missing letters. For example, for the string "aaa", the output should be the following. aaa is missing letters bcdefghijklmnopqrstuvwxyz If the string has all the letters in alphabet, the output should say it uses all the letters. For example, the output for the string alphabet itself would be the following. abcdefghijklmnopqrstuvwxyz uses all the letters Print a line like one of the above for each of the strings in test_miss. Submit your Python program. It should include the following. The provided code for alphabet, test_dups, test_miss, and histogram. Your implementation of the has_duplicates function. A loop that outputs duplicate information for each string in test_dups. Your implementation of the missing_letters function. A loop that outputs missing letters for each string in test_miss. Also submit the output from running your program. Your submission will be assessed using the following Aspects. Does the program include a function called has_duplicates that takes a string parameter and returns a boolean? Does the has_duplicates function call the histogram function? Does the program include a loop over the strings in test_dups that calls has_duplicate on each string? Does the program correctly identify whether each string in test_dups has duplicates? Does the program include a function called missing_letters that takes a string parameter and returns a string parameter? Does the missing_letters function call the histogram function? Does the missing_letters function use the alphabet global variable directly? Does the program include a loop over the strings in test_miss that calls missing_letters on each string? Does the program correctly identify the missing letters for each string in test_miss, including each string that "uses all the letters"?

Computers and Technology
1 answer:
trapecia [35]3 years ago
3 0

Answer:

alphabet = "abcdefghijklmnopqrstuvwxyz"

test_dups = ["zzz","dog","bookkeeper","subdermatoglyphic","subdermatoglyphics"]

test_miss = ["zzz","subdermatoglyphic","the quick brown fox jumps over the lazy dog"]

# From Section 11.2 of: # Downey, A. (2015). Think Python: How to think like a computer scientist. Needham, Massachusetts: Green Tree Press.

def histogram(s):

   d = dict()

   for c in s:

       if c not in d:

           d[c] = 1

       else:

           d[c] += 1

   return d

#Part 1 Write a function called has_duplicates that takes a string parameter and returns True if the string has any repeated characters. Otherwise, it should return False.

def has_duplicates(stringP):

   dic = histogram(stringP)

   for key,value in dic.items():

       if value>1:

           return True

   return False

# Implement has_duplicates by creating a histogram using the histogram function above. Write a loop over the strings in the provided test_dups list.

# Print each string in the list and whether or not it has any duplicates based on the return value of has_duplicates for that string.

# For example, the output for "aaa" and "abc" would be the following. aaa has duplicates abc has no duplicates Print a line like one of the above for each of the strings in test_dups.

print("***Implementation of has_duplicates fuction***")

for sTr in test_dups:

   if has_duplicates(sTr):

       print(sTr+": has duplicates")

   else:

       print(sTr+": has no duplicates")

#Part 2 Write a function called missing_letters that takes a string parameter and returns a new string with all the letters of the alphabet that are not in the argument string.

#The letters in the returned string should be in alphabetical order. Your implementation should use a histogram from the histogram function. It should also use the global variable alphabet.

#It should use this global variable directly, not through an argument or a local copy. It should loop over the letters in alphabet to determine which are missing from the input parameter.

#The function missing_letters should combine the list of missing letters into a string and return that string.

def missing_letters(sTr):

   missingLettersList = []

   dic = histogram(sTr)

   for l in alphabet:

       if l not in dic:

           missingLettersList.append(l)

   missingLettersList.sort()

   return "".join(missingLettersList)

#Write a loop over the strings in list test_miss and call missing_letters with each string. Print a line for each string listing the missing letters.

#For example, for the string "aaa", the output should be the following. aaa is missing letters bcdefghijklmnopqrstuvwxyz

#If the string has all the letters in alphabet, the output should say it uses all the letters.

#For example, the output for the string alphabet itself would be the following. abcdefghijklmnopqrstuvwxyz uses all the letters

#Print a line like one of the above for each of the strings in test_miss.

print("\n***Implementation of missing_letters fuction***")

for lTm in test_miss:

   sTr = missing_letters(lTm.replace(" ",""))

   if sTr!="":

       print(lTm+" is missing letters "+sTr)

   else:

       print(lTm +" uses all the letters")

You might be interested in
ASAP
grin007 [14]
I would recommend A. Quickly on the left and move ahead of it because you should always pass on the left and seeing as it is a large truck, you would want to get ahead of it ASAP.
4 0
3 years ago
Read 2 more answers
You can access various sites on WWW by using hyperlinks or by?
wlad13 [49]
You can access various sites on WWW by using hyperlinks or by?

Answer is: A following directions on-screen
5 0
3 years ago
Read 2 more answers
I need help with coding in python!
Harlamova29_29 [7]

Answer:

B

Explanation:

3 0
3 years ago
Computers have drastically changed society over the last 20 years. How have computers affected communication in the business wor
iren2701 [21]

<u>Drastic change of over society Computers:</u>

In society computer has drastically changed and it has been used to for varies purpose to do analysis or storing data, as decisions making tools. Purpose computer been found is to do huge calculation. “Compute” word has been derived to computer. Computer later stage it diverted is purpose from calculation to information store device.

Computers have heavy effect the communication in normal word and business world. Especially social media took over the control of computers. In today’s world four type of ethical issue are known in computer mainstream in the workplace they are.

1. Crime (computer)

2. failure of responsibility in the computer.

3. Protection of software records and documents etc.

4. End user  data protection and privacy.

99% of computers are protected with firewalls and antivirus. But still hackers can hack the computer and steal the data.

5 0
3 years ago
c++ Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins wi
Margaret [11]

Answer:

The following are the program in the C++ Programming Language:

#include <iostream> //header file

#include <string>  //header file

#include <vector>  //header file

//name space

using namespace std;

//main function

int main() {

  vector<string> word; //set variable

  vector<int> c;  //set variable

  int s, counts = 0; //set variable

  string strng;  //set variable

  cout<<"Enter the size of string: "; //print message

  cin >> s; //get input

  cout<<"Enter the string: "; //print message

  for(int i = 0; i < s; ++i) {  //set for loop

     cin >> strng; //get input

     word.push_back(strng);

  }

  for(int i = 0; i < s; ++i) { //set for loop

         counts = 0;

         for(int j = 0;j<word.size();j++){ //set for loop

       if(word[j] == word[i]){ //set if statement

          counts++; //increament in counts

       }        

     }

      c.push_back(counts);

  }

  for(int i = 0; i < s; ++i) {

      cout << word[i] << " " << c[i] << endl;//print result

  }

  return 0;

}

<u>Output</u>:

Enter the size of string: 2

Enter the string: hello  sir

hello 1

sir 1

Explanation:

Here, we define three header files <iostream>, <String>, <vector> and namespace "std" after that we define main() method inside it.

  • Then, we set two vector type variables first one is string variable "word" and the second one is integer variable "c".
  • Then we set two integer variable "s" and "counts" and variable "counts" assign to 0.
  • Then, we get input from the user in variable "s" for the length of the loop.
  • Then, we set for the loop inside it, we get input in the variable "strng" from the user.
  • Then, we set the for loop for count the string repetition if any word comes again in the string then the value of count will increase.
  • Finally, we set for a loop to print the result.
4 0
3 years ago
Other questions:
  • Operating system software allows you to use your fingers, a mouse or other pointing device to select screen controls, such as bu
    5·2 answers
  • Most licensing agencies offer an orientation meeting for applicants who want to obtain licensing for a child care facility or a
    12·2 answers
  • Identify the causes of configuration problems. (choose all that apply)
    9·2 answers
  • Name and describe the two (2) broad categories of files
    9·1 answer
  • Describe and compare imperative (C), functional (SML) and logic (Prolog) programming paradigms.
    9·1 answer
  • Before becoming romantically involved with a coworker you should
    7·2 answers
  • I can’t unblock brainly from my computer, I think a robot has the same IP address .
    10·2 answers
  • A workstation with a static IP (Internet Protocol) address can print and authenticate to a server, but cannot browse to www.comp
    14·1 answer
  • // Exercise 4.16: Mystery.java
    6·1 answer
  • Which operating system might cause the desktop background to change unexpectedly?
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!