While loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.

Slides:



Advertisements
Similar presentations
For loops Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
Advertisements

While loops.
While loops Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
Loops continued and coding efficiently Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
CS107 Introduction to Computer Science Lecture 3, 4 An Introduction to Algorithms: Loops.
File input and output if-then-else Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
ECS15 for and sequence. Comments  Another way to repeat.
Chapter 6 - Repetition. Introduction u Many applications require certain operations to be carried out more than once. Such situations require repetition.
Pseudocode and Algorithms
Introducing Loop Statements Liang, pages Loop statements control repeated execution of a block of statements Each time the statements in the block.
Loops – While, Do, For Repetition Statements Introduction to Arrays
Lecture 12 Another loop for repetition The while loop construct © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
16/27/ :53 PM6/27/ :53 PM6/27/ :53 PMLogic Control Structures Arithmetic Expressions Used to do arithmetic. Operations consist of +,
© 2004 Pearson Addison-Wesley. All rights reserved5-1 Iterations/ Loops The while Statement Other Repetition Statements.
CS 106 Introduction to Computer Science I 09 / 28 / 2007 Instructor: Michael Eckmann.
Computing with Strings CSC 161: The Art of Programming Prof. Henry Kautz 9/16/2009.
Loops and Iteration Chapter 5 Python for Informatics: Exploring Information
Fundamentals of Python: From First Programs Through Data Structures
Fundamentals of Python: First Programs
COMPE 111 Introduction to Computer Engineering Programming in Python Atılım University
General Programming Introduction to Computing Science and Programming I.
1 Module 3 Conditional Statements. Objectives  Conditional test statements to compare numerical and string data values  Looping statements to repeat.
An Introduction to Programming with C++ Sixth Edition Chapter 7 The Repetition Structure.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
Ch. 10 For Statement Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
Python 101 Dr. Bernard Chen University of Central Arkansas PyArkansas.
Lecture 26: Reusable Methods: Enviable Sloth. Creating Function M-files User defined functions are stored as M- files To use them, they must be in the.
File input and output and conditionals Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
9. ITERATIONS AND LOOP STRUCTURES Rocky K. C. Chang October 18, 2015 (Adapted from John Zelle’s slides)
Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 5 Looping.
Flow Control in Imperative Languages. Activity 1 What does the word: ‘Imperative’ mean? 5mins …having CONTROL and ORDER!
Computer Program Flow Control structures determine the order of instruction execution: 1. sequential, where instructions are executed in order 2. conditional,
Introduction to Programming G50PRO University of Nottingham Unit 6 : Control Flow Statements 2 Paul Tennent
PH2150 Scientific Computing Skills Control Structures in Python In general, statements are executed sequentially, top to bottom. There are many instances.
Introduction to Computing Science and Programming I
CHAPTER 4 REPETITION CONTROL STRUCTURE / LOOPING
For loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Introduction To Repetition The for loop
Repetition Structures Chapter 9
The switch Statement, and Introduction to Looping
(optional - but then again, all of these are optional)
Python: Control Structures
(optional - but then again, all of these are optional)‏
Warm-up Program Use the same method as your first fortune cookie project and write a program that reads in a string from the user and, at random, will.
Programming for Engineers in Python
Topics Introduction to Repetition Structures
Python - Loops and Iteration
File input and output Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble Notes from 2009: Sample problem.
PH2150 Scientific Computing Skills
Dictionaries GENOME 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Conditionals (if-then-else)
While loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
For loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble Notes for 2010: I skipped slide 10. This is.
CMSC 120: Visualizing Information 3/25/08
Outline Altering flow of control Boolean expressions
Motif p-values GENOME 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Loops CIS 40 – Introduction to Programming in Python
Topics Introduction to Repetition Structures
Repetition Control Structure
CMPT 102 Introduction to Scientific Computer Programming
Fundamentals of visual basic
More for loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
While loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Sequence comparison: Local alignment
Introduction to Repetition Structures
ICT Programming Lesson 3:
Sequence comparison: Multiple testing correction
CHAPTER 6: Control Flow Tools (for and while loops)
Introduction to Computer Science
Presentation transcript:

while loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble

while loop statement1 statement2 while (<test>): In English: While some logical test is true, continue executing the block of statements.

What does this program do? sum = 0 count = 1 while (count < 3): sum = sum + count count = count + 1 print count print sum

What does this program do? sum = 0 count = 1 while (count < 3): sum = sum + count count = count + 1 print count print sum sum = 0 count = 1 count < 3? TRUE sum = 0 + 1 = 1 count = 1 + 1 = 2 sum = 1 + 2 = 3 count = 2 + 1 = 3 count < 3? FALSE 3 3

Increment operator (+=) x = x + y is the same as x += y sum = 0 count = 1 while (count < 3): sum = sum + count count = count + 1 print count print sum sum = 0 count = 1 while (count < 3): sum += count count += 1 print count print sum

For versus while loops You will probably use for loops more. For is natural to loop through a list, characters in a string, etc. (anything of determinate size). While is natural to loop an indeterminate number of times until some condition is met.

Examples of for loops for base in sequence: <do something with each base> for sequence in database: <do something with each sequence> for index in range(5,200): <do something with each index>

Examples of while loops while (error > 0.05): <do something that will reduce error> while (score > 0): <traceback through a DP matrix, each time setting the current score> Warning: if you write a while loop and the conditional test stays True, the loop will run forever (infinite loop).

Terminating a loop while loops use continue and break in the same way as for loops: continue : jumps to the top of the enclosing loop break : breaks completely out of the enclosing loop

Sample problem #1 Convert the following program to a while loop: import sys total = 0 for i in range(1, len(sys.argv)): total += int(sys.argv[i]) print total Run both programs with arguments “1 2 3”.

Solution #1 import sys total = 0 i = 1 while (i < len(sys.argv)) : total += int(sys.argv[i]) i += 1 print total

Sample problem #2 Write a python program to print all the square numbers up to a user- specified maximum: > python print-squares.py 20 1 4 9 16 My solution has 6 lines.

Solution #2 import sys max_int = int(sys.argv[1]) index = 1 while (index * index < max_int): print index * index index += 1

Sample problem #3 Write a python program to count the lines in a file using readline() and a while loop. > python count-lines.py myfile.txt 3 My solution has 8 lines.

Solution #3 import sys myfile = open(sys.argv[1], “r”) lineCount = 0 line = myfile.readline() while (line != ""): lineCount += 1 print lineCount

Sample problem #4 Write a program count-fasta.py that counts the number of fasta sequences in a file specified on the command line. Use either a while loop or a for loop. python count-fasta.py small.fasta 72 23516 Run your program on the two files on the course web page: small.fasta and large.fasta. Fasta format: >identifier1 [optional comments] AAOSIUBOASIUETOAISOBUAOSIDUGOAIBUOABOIUAS AOSIUDTOAISUETOIGLKBJLZXCOITLJLBIULEIJLIJ >identifier2 [optional comments] TXDIGSIDJOIJEOITJOSIJOIGJSOIEJTSOE >identifier3 Etc. sequence on any number of lines until next line that starts with “>”

Solution #4 Not required, but a good habit to get into import sys # Make sure we got an argument on the command line. if (len(sys.argv) != 2): print "USAGE: one file argument required" sys.exit() # Open the file for reading. fasta_file = open(sys.argv[1], "r") num_seqs = 0 for line in fasta_file: # Increment if this is the start of a sequence if (line[0] == ">"): num_seqs += 1 fasta_file.close() print num_seqs