Can You Compute?
  • HOME
    • Yr 6
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • Yr 9
    • Year End Examination
    • L13-15: School Brochure
    • L12: Building a Computer
    • L11: Buying a House
    • L10: Logic Gates
    • L9: Presentations
    • L8: Binary
    • L7: CS Alan Turing
    • L6: Spreadsheets
    • L5: JS in an Hour!
    • L4: Intro to Coding
    • L3: IT Review and Mail Merge
    • L2: IT Letter Writing
    • L1: CS Compression
  • J276/01
    • Unit 1 Overview
    • EPIC FAILS
    • 1.1 System Architecture >
      • L1: The CPU
      • L2: The CPU in action
      • L3: CPU Recap
      • L4: Intro to LMC
      • L5: Problem solving with LMC
      • L6: LMC Subtraction
      • L7: LMC Looping
      • L8: LMC Multiplication
      • L9: Embedded Systems
      • L10: End of Term Exam
    • 1.2 Memory >
      • L1: RAM, ROM & MEMORY
      • L2: What do you know?
    • 1.3 Storage >
      • L1: Storage part 1
      • L2: Storage part 2
      • L3: Storage recap
    • 1.4 Wired / Wireless Networks >
      • L1: Introduction
      • L2: P2P & CS
      • L3: Hardware
      • L4: The Internet
      • L5: Web Server TO DO
      • L5: End of Unit Test
    • 1.5 Network topologies, protocols and layers >
      • L1: Topologies
      • L2: Protocols
      • L3: Packets and Layers
      • L4: Packets Games
      • L5: Routing Game
      • L6: End of Unit Test
    • 1.6 System Security
    • 1.7 System Software >
      • L1: The Operating System
      • L2: Utility Software
      • L3: GUI and Games
      • L4: Unit Test
  • J276/02
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
    • 2.6 Data Representation >
      • L1: Units
      • L2: Numbers Binary
      • L3: Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/03 NEA
    • Overview
    • Part One
    • Part Two
    • Analysis
    • Success Criteria
    • Design - Algorithms
    • Pseudocode
    • Testing
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2:

looking for data in strings

Picture
Go Back

Learners will be able to:
  1. Know how to find particular parts of data in text
  2. Retrieve and print this data out
  3. Use this technique for several lines of text

In this lesson you will learn how to find particular data in a line of text.  Imagine you had thousands of lines of text and within that are 100 email address which need finding, you could look for them or, use a simple Python program to find them.

Part 1: Finding an address - sort of!
  1. Look and run the code below, what does it do?
  2. Look at the a, what is this? Can you get it to print out the @ symbol?
  3. To find the email address you need to find where the email address starts, it starts after the "From:", use the text.find(":") to find the position that the email address begins.
  4. Then print out the text at the position that the code found
  5. You will notice too many symbols are printed, how can this be sorted? (clue +1) 
Part 2: Finding the complete email address
  1. Now you have the position of the beginning of the email address you need to find it's end, use the code similar to email_pos = text.find(":") to find the end of the email address 
  2. Add the end position to line 13
  3. Edit the code below to print out the full email address
Part 3: Finding more than one email address
  1. Now you can find an email address, you can use the code to look through several lines and return all email addresses.
  2. Create a for loop on line 7 which looks through each line and then find the positions and prints to email address.  Then looks through the next line and so on.
  3. Clues: for line in, change to line, 
Part 4: Find the Jobs
  1. Using what you have learnt and the code box below, create a program which extracts the jobs from the lines of text. 
Part 5: Look for the confidence of the SPAM emails
  1. This project will use the skills you have learnt to open a file and read through the file, looking for lines:  "X-DSPAM-Confidence:    0.8475".
  2. Remove the number from each of the lines and print
  3. Extension: Count these lines and find the floating point values from each of the lines and compute the average of those values.
  4. Answer = Average spam confidence:  0.750718518519
  5. Download the two files below and ensure that they are both saved into the same folder
  6. When prompted to open the file type words.txt
  7. Good luck
Template Code
File Size: 0 kb
File Type: py
Download File

words.txt
File Size: 96 kb
File Type: txt
Download File

  • HOME
    • Yr 6
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • Yr 9
    • Year End Examination
    • L13-15: School Brochure
    • L12: Building a Computer
    • L11: Buying a House
    • L10: Logic Gates
    • L9: Presentations
    • L8: Binary
    • L7: CS Alan Turing
    • L6: Spreadsheets
    • L5: JS in an Hour!
    • L4: Intro to Coding
    • L3: IT Review and Mail Merge
    • L2: IT Letter Writing
    • L1: CS Compression
  • J276/01
    • Unit 1 Overview
    • EPIC FAILS
    • 1.1 System Architecture >
      • L1: The CPU
      • L2: The CPU in action
      • L3: CPU Recap
      • L4: Intro to LMC
      • L5: Problem solving with LMC
      • L6: LMC Subtraction
      • L7: LMC Looping
      • L8: LMC Multiplication
      • L9: Embedded Systems
      • L10: End of Term Exam
    • 1.2 Memory >
      • L1: RAM, ROM & MEMORY
      • L2: What do you know?
    • 1.3 Storage >
      • L1: Storage part 1
      • L2: Storage part 2
      • L3: Storage recap
    • 1.4 Wired / Wireless Networks >
      • L1: Introduction
      • L2: P2P & CS
      • L3: Hardware
      • L4: The Internet
      • L5: Web Server TO DO
      • L5: End of Unit Test
    • 1.5 Network topologies, protocols and layers >
      • L1: Topologies
      • L2: Protocols
      • L3: Packets and Layers
      • L4: Packets Games
      • L5: Routing Game
      • L6: End of Unit Test
    • 1.6 System Security
    • 1.7 System Software >
      • L1: The Operating System
      • L2: Utility Software
      • L3: GUI and Games
      • L4: Unit Test
  • J276/02
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
    • 2.6 Data Representation >
      • L1: Units
      • L2: Numbers Binary
      • L3: Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/03 NEA
    • Overview
    • Part One
    • Part Two
    • Analysis
    • Success Criteria
    • Design - Algorithms
    • Pseudocode
    • Testing
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2: