Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Please answer in python

Write a function called random_sent (source_file,
length) that takes in two parameters:
source_file is a string representing the name
of a file in the current directory, which we'll use
as a basis for producing our text
• length is an integer representing the number of
words in our output text
The function should do the following:
●
Open the target source file for reading (you can
assume that it exists).
Read in the entire file as one gigantic string.
Use .split() with no arguments to split the whole
file into a list of "words". There will still be some
punctuation attached to some of the words, but
you should actually leave it in - it often makes the
output sentences more convincing.
Make a dictionary counting how many times each
"word" appears in the list. Note that this will
count words that contain the same letters but
different punctuation or capitalization as different
"words", and that's fine.
From here, the function needs to return a string
containing length words, separated by spaces.
The first word in the output text must be chosen by
passing in the dictionary of word counts into the
weighted_choice function from problem A: this
means that the word will always be one that appears in
the given file, and the more often a given word appears in
the file the more likely it will be the one to start our
output text.
Transcribed Image Text:Write a function called random_sent (source_file, length) that takes in two parameters: source_file is a string representing the name of a file in the current directory, which we'll use as a basis for producing our text • length is an integer representing the number of words in our output text The function should do the following: ● Open the target source file for reading (you can assume that it exists). Read in the entire file as one gigantic string. Use .split() with no arguments to split the whole file into a list of "words". There will still be some punctuation attached to some of the words, but you should actually leave it in - it often makes the output sentences more convincing. Make a dictionary counting how many times each "word" appears in the list. Note that this will count words that contain the same letters but different punctuation or capitalization as different "words", and that's fine. From here, the function needs to return a string containing length words, separated by spaces. The first word in the output text must be chosen by passing in the dictionary of word counts into the weighted_choice function from problem A: this means that the word will always be one that appears in the given file, and the more often a given word appears in the file the more likely it will be the one to start our output text.
Constraints:
Every word in the output text must appear in the
input text.
You must call the Problem A function
(weighted_choice) to determine the first word
of the output text.
Examples (random, so won't necessarily match, but
make sure the number of words is correct and each one
appears somewhere in the input text file):
>>> random_sent('short3.txt', 10)
'for second-guessing Too late to try
defying gravity I guess'
>>> random_sent('hamlet.txt', 20)
"pleasure of fear and dungeons, Denmark to
those effects for look like a puff'd and
we are the bloat king"
>>> random_sent('alice.txt', 30)
'into the mushroom, and seemed inclined to
be otherwise than nine o'clock in the
stupidest tea-party I suppose Dinah'll be
removed,' said the field after them!' 'And
washing?' said the'
Transcribed Image Text:Constraints: Every word in the output text must appear in the input text. You must call the Problem A function (weighted_choice) to determine the first word of the output text. Examples (random, so won't necessarily match, but make sure the number of words is correct and each one appears somewhere in the input text file): >>> random_sent('short3.txt', 10) 'for second-guessing Too late to try defying gravity I guess' >>> random_sent('hamlet.txt', 20) "pleasure of fear and dungeons, Denmark to those effects for look like a puff'd and we are the bloat king" >>> random_sent('alice.txt', 30) 'into the mushroom, and seemed inclined to be otherwise than nine o'clock in the stupidest tea-party I suppose Dinah'll be removed,' said the field after them!' 'And washing?' said the'
Expert Solution
steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Introduction to computer system
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education