For extra credit, create a file called find_numbers.py and add the code required to complete the exercises.
For more information on regular expressions, see Chapter 11 of Python for Everybody and this regular expressions cheat sheet.
Finding Numbers in a Haystack
In this assignment you will read through and parse a file with text and numbers. You will extract all the numbers in the file and compute the sum of the numbers.
We provide two files for this assignment. One is a sample file where we give you the sum for your testing and the other is the actual data you need to process for the assignment.
These links open in a new window. Make sure to save the file into the same folder as you will be writing your Python program.
For help on reading data from a file, see Charles Severence's lesson on files.
The file contains much of the text from the introduction of the textbook except that random numbers are inserted throughout the text. Here is a sample of the output you might see:
Why should you learn to write programs? 7746 12 1929 8827 Writing programs (or programming) is a very creative 7 and rewarding activity. You can write programs for many reasons, ranging from making your living to solving 8837 a difficult data analysis problem to having fun to helping 128 someone else solve a problem. This book assumes that everyone needs to know how to program ...
The sum for the sample text above is 27486. The numbers can appear anywhere in the line. There can be any number of numbers in each line (including none).
Handling The Data
The basic outline of this problem is to read the file, look for integers using the re.findall(), looking for a regular expression of '[0-9]+' and then converting the extracted strings to integers and summing up the integers.
Submit find_numbers.py. Along with your submission, post the sum from the actual data and your Python code. The last three digits of the sum are 340.
1 2 3 4 5 6 7 8 9 10 11 12