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
tatuchka [14]
3 years ago
15

The compare_strings function is supposed to compare just the alphanumeric content of two strings, ignoring upper vs lower case a

nd punctuation. But something is not working. Fill in the code to try to find the problems, then fix the problems.
import re
def compare_strings(string1, string2):
#Convert both strings to lowercase
#and remove leading and trailing blanks
string1 = string1.lower().strip()
string2 = string2.lower().strip()

#Ignore punctuation
punctuation = r"[.?!,;:-']"
string1 = re.sub(punctuation, r"", string1)
string2 = re.sub(punctuation, r"", string2)

#DEBUG CODE GOES HERE
print(___)

return string1 == string2

print(compare_strings("Have a Great Day!", "Have a great day?")) # True
print(compare_strings("It's raining again.", "its raining, again")) # True
print(compare_strings("Learn to count: 1, 2, 3.", "Learn to count: one, two, three.")) # False
print(compare_strings("They found some body.", "They found somebody.")) # False

Computers and Technology
1 answer:
Korolek [52]3 years ago
4 0

Answer:

There is a problem in the given code in the following statement:

Problem:

punctuation = r"[.?!,;:-']"

This produces the following error:

Error:

bad character range

Fix:

The hyphen - should be placed at the start or end of punctuation characters. Here the role of hyphen is to determine the range of characters. Another way is to escape the hyphen - using using backslash \ symbol.

So the above statement becomes:

punctuation = r"[-.?!,;:']"  

You can also do this:

punctuation = r"[.?!,;:'-]"  

You can also change this statement as:

punctuation = r"[.?!,;:\-']"

Explanation:

The complete program is as follows. I have added a print statement print('string1:',string1,'\nstring2:',string2) that prints the string1 and string2 followed by return string1 == string2  which either returns true or false. However you can omit this print('string1:',string1,'\nstring2:',string2) statement and the output will just display either true or false

import re  #to use regular expressions

def compare_strings(string1, string2):  #function compare_strings that takes two strings as argument and compares them

   string1 = string1.lower().strip()  # converts the string1 characters to lowercase using lower() method and removes trailing blanks

   string2 = string2.lower().strip()  # converts the string1 characters to lowercase using lower() method and removes trailing blanks

   punctuation = r"[-.?!,;:']"  #regular expression for punctuation characters

   string1 = re.sub(punctuation, r"", string1)  # specifies RE pattern i.e. punctuation in the 1st argument, new string r in 2nd argument, and a string to be handle i.e. string1 in the 3rd argument

   string2 = re.sub(punctuation, r"", string2)  # same as above statement but works on string2 as 3rd argument

   print('string1:',string1,'\nstring2:',string2)  #prints both the strings separated with a new line

   return string1 == string2  # compares strings and returns true if they matched else false

#function calls to test the working of the above function compare_strings

print(compare_strings("Have a Great Day!","Have a great day?")) # True

print(compare_strings("It's raining again.","its raining, again")) # True

print(compare_strings("Learn to count: 1, 2, 3.","Learn to count: one, two, three.")) # False

print(compare_strings("They found some body.","They found somebody.")) # False

The screenshot of the program along with its output is attached.

You might be interested in
When you use the tilde operator (~ in a url for the attribute of a server control, it represents the _____ directory of the webs
Verizon [17]
The tilde operator represents the root directory of the website.
4 0
3 years ago
To conserve its public IP addresses, a company can instead use ____ addresses for devices within its own network boundaries.
Thepotemich [5.8K]

Answer:

private ip addresses

Explanation:

A private ip address is assigned to each device on a network, allowing devices on the same network to communicate with each other without using any public ip addresses.

7 0
2 years ago
Why is it difficult to enforce laws against intellectual theft?
LiRa [457]

Answer:

A-because most of the victims of intellectual theft are individuals  

Explanation:

Its definitely the first, and not B., C, or D,

Countries are no barrier in catching the theft, as almost all the countries now have issued the online identification number of each of their citizens. However, some of them are in the process. Hence, for next one - two years we can add add the B as well:

B-because much intellectual theft is committed in other countries

However, as this work is complete, the B option will not be an issue related to intellectual theft analysis and control.

And  C and D are definitely not the part of the answer, as associations like FCC USA, Internet association etc  are technically sound enough, and quite good to fight a case under any law as well.

7 0
3 years ago
In the SDLC's third phase, the way in which a proposed information system will deliver the general abilities described in the pr
kifflom [539]

Answer: Detailed

Explanation:

SDLC consist of 7 phases. They are:

1. Planning.

2. System analysis and requirement

3. Design:

4. Coding:

5. Testing:

6. Installation

7. Maintenance

Here we are talking of the third phase. In this phase it is the design phase which consist of high and low level design. Here the preliminary design is included in high level design where it describes the required hardware, software, network capabilities and the modelling of the interface. However the detailed design in low level design will implement the coding and will finding of any errors in the implemented design as described by the preliminary design.

3 0
3 years ago
Anyone wanna hop on 1v1.lol<br> party code : usfhb6
hjlf

Answer:

thx for the points

Explanation:

8 0
2 years ago
Read 2 more answers
Other questions:
  • Why is timbre an important musical element?
    7·2 answers
  • For a loop counter, the appropriate data type would be:
    14·1 answer
  • What is the purpose of copyfitting?
    12·1 answer
  • How do I sign into raterhub on my phone and my mobile device at the same time to complete phase 2 of my raters exam for sykeshom
    10·1 answer
  • When proposing a plan in detail for video production phases, fundraising, and outreaching, which section will you use to make su
    14·2 answers
  • Holi alguien sabe como cambiar el gamertag en XBox App (para iOS)?
    9·1 answer
  • Putting commands in correct order so computers can read the commands
    9·1 answer
  • Pls awnser if awnser is wrong I will unmark brainliest
    5·1 answer
  • The _____ constraint assigns a value to an attribute when a new row is added to a table
    5·1 answer
  • // This pseudocode is intended to describe
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!