Files
AutomateTheBoringStuffWithP…/practice_projects/mad_libs.py

46 lines
1.4 KiB
Python
Raw Normal View History

2017-06-19 18:59:52 +08:00
#! python3
'''
mad_libs.py - reads in text files and lets the user add their own text anywhere
the word ADJECTIVE, NOUN, ADVERB, or VERB appears in the text
file.
For example, a text file may look like this:
```
The ADJECTIVE panda walked to the NOUN and then VERB.
A nearby NOUN was unaffected by these events.
```
The program would find these occurrences and prompt the user to
replace them.
Enter an adjective:
silly
Enter a noun:
chandelier
Enter a verb:
screamed
Enter a noun:
pickup truck
The following text file would then be created:
```
The silly panda walked to the chandelier and then screamed.
A nearby pickup truck was unaffected by these events.
```
'''
import re
2017-06-20 08:29:48 +08:00
in_file_name = input("Enter the filename:\n")
in_file = open(in_file_name)
content = in_file.read()
2017-06-19 18:59:52 +08:00
for to_replace in re.compile(r'ADJECTIVE|NOUN|ADVERB|VERB').findall(content):
2017-06-20 08:29:48 +08:00
str_input = input("Enter %s %s:\n" % ('an' if to_replace[0] in 'AEIOU' else
'a', to_replace.lower()))
content = content.replace(to_replace, str_input, 1)
out_file_name = input("Enter the output file name:\n")
out_file = open(out_file_name, 'w')
out_file.write(content)