answer.
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
Pavel
3 months 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:
maria [1K]3 months 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 Construct a function, called has_duplicates, that takes a string argument and returns True if there are any repeating characters present. If not, it should return False.

def has_duplicates(stringP):

dic = histogram(stringP)

for key,value in dic.items():

if value>1:

return True

return False

# Execute has_duplicates by building a histogram using the above histogram function. Implement a loop over the items in the test_dups list.

# Display each string and indicate whether it has duplicates based on the has_duplicates function's result for that string.

# For instance, the expected output for "aaa" and "abc" would be shown below. aaa has duplicates abc has no duplicates Display a similar message for each string within test_dups.

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

for sTr in test_dups:

if has_duplicates(sTr):

print(sTr+": has duplicates")

else:

print(sTr+": has no duplicates")

#Part 2 Develop a function named missing_letters that takes a string argument and returns a new string containing all alphabet letters absent from the input string.

#The letters in the resultant string should be arranged in alphabetical order. Your implementation must utilize the histogram from the previous function and should reference the global alphabet variable directly.

#It should iterate over the alphabet letters to figure out which are missing from the input string.

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

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)

#Iterate over the strings in the test_miss list and invoke missing_letters for each one. Present a line for each string outlining the missing letters.

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

#Should the string encompass all alphabet letters, the output should indicate that it utilizes all the letters.

#For instance, output for the alphabet string itself would be: abcdefghijklmnopqrstuvwxyz uses all the letters

#Generate a similar line for each item in test_miss.

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

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
Write measurable performance objectives.Suppose that a trainer has identified as a generalgoal for a training module,"Able to fo
8_murik_8 [964]

Response:

Damon ComSci 037-0945 Activity 11-3 Formulate measurable performance objectives.... Imagine a trainer has set a broad aim for a training module, saying, “Able to format printed output in accordance with a specification sheet.” First, revise this goal statement to specify a quantifiable performance objective.

Explanation:

6 0
2 months ago
You want to register the domain name ABCcompany.org, but the registration service is not allowing you to do that. What's the mos
amid [951]

Options :

The domain name is already taken.

Domain names are required to end with ".com".

You do not hold legal ownership of ABC Company.

Domain names must exclusively use lowercase letters.

Answer:

The domain name is already taken.

Explanation: In the above scenario, ABCcompany.org signifies the domain associated with a specific individual or organization that leads to the owner's website. Each domain name must be unique; therefore, no two different entities or individuals can have identical domain names. Domains can have endings like .com, .org, .ng, and more, and they are not case-sensitive. Thus, the inability to register the mentioned domain is probably because it has already been claimed by someone else.

6 0
3 months ago
A 1.17 g sample of an alkane hydrocarbon gas occupies a volume of 674 mL at 28°C and 741 mmHg. Alkanes are known to have the gen
Natasha_Volkova [1026]

Answer:

C3H8

Explanation:

Step 1:

Relevant details from the question are noted below:

Mass of the alkane is 1.17g

Volume (V) = 674 mL

Temperature (T) = 28°C

Pressure (P) = 741 mmHg.

Gas constant (R) = 0.08206 atm.L/Kmol

Step 2:

Convert to the appropriate units.

For Volume:

1000mL = 1L

So, 674mL = 674/1000 = 0.674L

For Temperature:

Temperature in Kelvin = Temperature in Celsius + 273

Temperature in Celsius = 28°C

Temperature in Kelvin = 28°C + 273 = 301K

For Pressure:

760mmHg = 1atm

So, 741 mmHg = 741/760 = 0.975atm

Step 3:

Calculate the moles of the alkane.

The moles of the alkane can be found using the ideal gas equation, presented below:

Volume (V) = 0.674L

Temperature (T) = 301K

Pressure (P) = 0.975atm

Gas constant (R) = 0.08206 atm.L/Kmol

Number of moles (n) =?

PV = nRT

n = PV /RT

n = (0.975 x 0.674)/(0.08206x301)

n = 0.0266 moles

Step 4:

Calculate the alkane’s molar mass.

Mass of alkane = 1.17g

Number of moles = 0.0266moles

Molar Mass =?

Number of moles = Mass/Molar Mass

Molar Mass = Mass/Number of moles

Molar Mass of alkane = 1.17/0.0266 = 44g/mol

Step 5:

Determine the molecular formula of the alkane.

This is based on:

The general formula for alkanes is CnH2n+2

To find the molecular formula, we start with n = 1, 2, 3, etc., until we find the molar mass of 44.

When n = 1

CnH2n+2 = CH4 = 12 + (4x1) = 16g/mol

When n = 2

CnH2n+2 = C2H6 = (12x2) + (6x1) = 30g/mol

When n = 3

CnH2n+2 = C3H8 = (12x3) + (8x1) = 44g/mol

It can be observed that for n equal to 3, the molar mass is 44g/mol.

Thus, the molecular formula of the alkane is C3H8.

7 0
2 months ago
In mathematics, the factorial of a positive integer n, denoted as n! , is the product of all positive integers less than or equa
oksian1 [950]
public static int factorial(int n) { if (n >= 1 && n <=12) { if (n == 1) return 1; else return n * factorial(n - 1); } else return -1; } Explanation: The factorial method takes a single integer n as input. It checks if n is within the range of 1 to 12. If it is, it further checks if n equals 1. If it is indeed 1, it returns 1 as the factorial. Otherwise, it recursively calls itself with n decreased by 1, multiplying the result by n. If n is outside this range, the method returns -1 indicating the input is invalid.
6 0
2 months ago
Read 2 more answers
Other questions:
  • While trying to solve a network issue, a technician made multiple changes to the current router configuration file. The changes
    7·1 answer
  • Which of the following statements is true regarding input and output?
    12·2 answers
  • Modern operating systems decouple a process address space from the machine’s physical memory. List two advantages of this design
    15·1 answer
  • Your revenue is $22,000. Your Cost of Goods is 16,250. Your gross profit is _____________, fill in the blank,.
    14·1 answer
  • Consider the following skeletal C program: void fun1(void); /* prototype */ void fun2(void); /* prototype */ void fun3(void); /*
    11·1 answer
  • You work in the educational software industry. Your boss asks you to give a brief lecture to other employees about the digital d
    7·2 answers
  • An application specifies a requirement of 200 GB to host a database and other files. It also specifies that the storage environm
    12·1 answer
  • Performing binary search on an unsorted list will always return the correct answer in O(n) time where n is the length of the lis
    9·1 answer
  • A _________ level breach of security could cause a significant degradation in mission capability to an extent and duration that
    13·1 answer
  • To reduce costs and the environmental impact of commuting, your company decides to close a number of offices and to provide supp
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!