Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
for loop - how it works (Perl, PHP, Java, C, etc)

When writing a program, you'll often want to repeat a block of code, counting up through a table or performing a block of code with an input value (loop counter) that goes up 1, 2, 3, 4 etc.

You COULD do this using a while loop, but this means you have to specify each of
• how to start (initialise) the loop counter
• how to test the loop counter to see if it's completed
• how to alter the loop counter each time round
and to do each of these separately means that the maintainer of the code is going to have to look in three places at once to work out what's going on.

Most languages have a for loop construct which pulls all three elements into one statement, for example:
  for ($k=0; $k<25; $k++) {
which means START at zero, REPEAT the loop while $k is less that 25 and before EACH SUBSEQUENT test and loop add 1 to $k.

Here's a diagram to show how that works



The GREEN shows the initial entry to the loop, where the initial value is set and then the condition is tested.

The ORANGE shows each subsequent time round the loop, where the last clause (the increment) is performed before the condition is retested

and the RED shows how the loop exits once the condition has gone false. You'll note that a for loop CAN exit straight away, since the test is done on entry as well as each time the last clause has been run.
(written 2007-06-06, updated 2007-06-07)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y104 - Python - Lists and Tuples
  [383] Overloading of operators on standard objects in Python - (2005-07-19)
  [657] The ternary operator in Python - (2006-03-25)
  [899] Python - extend v append on a list - (2006-10-20)
  [955] Python collections - mutable and imutable - (2006-11-29)
  [1641] Tektronix 4010 series / Python Tuples - (2008-05-13)
  [1789] Looking for a value in a list - Python - (2008-09-08)
  [2280] Creating and iterating through Python lists - (2009-07-12)
  [2284] Strings as collections in Python - (2009-07-12)
  [2368] Python - fresh examples of all the fundamentals - (2009-08-20)
  [2719] Traffic lights in Python - (2010-04-13)
  [2996] Copying - duplicating data, or just adding a name? Perl and Python compared - (2010-10-12)
  [3118] Arrays of arrays - or 2D arrays. How to program tables. - (2011-01-02)
  [3181] Beware - a=a+b and a+=b are different - Python - (2011-02-23)
  [3257] All possible combinations from a list (Python) or array (Ruby) - (2011-04-23)
  [3348] List slices in Python - 2 and 3 values forms, with an uplifting example - (2011-07-06)
  [3669] Stepping through a list (or an array) in reverse order - (2012-03-23)
  [3763] Spike solutions and refactoring - a Python example - (2012-06-13)
  [4027] Collections in Python - list tuple dict and string. - (2013-03-04)
  [4368] Shuffling a list - Ruby and Python - (2014-12-28)
  [4722] Embedding more complex code into a named block - (2016-11-04)

R104 - Ruby - Control Structures
  [960] 1st, 2nd, 3rd revisited in Ruby - (2006-12-02)
  [962] Breaking a loop - Ruby and other languages - (2006-12-03)
  [985] Equality in Ruby - == eql? and equal? - (2006-12-14)
  [995] Ruby's case - no break - (2006-12-17)
  [1163] A better alternative to cutting and pasting code - (2007-04-26)
  [1582] Ruby, C, Java and more - getting out of loops - (2008-03-19)
  [1587] Some Ruby programming examples from our course - (2008-03-21)
  [1696] Saying NOT in Perl, PHP, Python, Lua ... - (2008-07-04)
  [1738] Clean code, jump free (Example in Lua) - (2008-08-06)
  [1870] What to do with a huge crop of apples - (2008-11-04)
  [1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
  [1891] Ruby to access web services - (2008-11-16)
  [1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
  [2287] Learning to program in Ruby - examples of the programming basics - (2009-07-15)
  [2471] A short form of if ... then ... else - (2009-10-23)
  [2619] Passing code to procedures and yield in Ruby - (2010-02-02)
  [2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast - (2010-04-07)
  [2892] Alternative loops and conditionals in Ruby and Perl - (2010-07-28)
  [2975] Why do I need brackets in Ruby ... or Perl, Python, C or Java - (2010-09-29)
  [3156] Splitting data reading code from data processing code - Ruby - (2011-02-04)
  [3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
  [3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
  [3200] How a for loop works Java, Perl and other languages - (2011-03-12)
  [3253] Is this number between? Does this list include? - Ruby - (2011-04-18)
  [3254] Multiple inputs, multiple out, ruby functions - (2011-04-19)
  [3397] Does a for loop evaluate its end condition once, or on every iteration? - (2011-08-18)
  [3422] Assigning values to variables within other statements - Ruby - (2011-09-07)
  [3619] Ruby v Perl - a comparison example - (2012-02-21)
  [3620] Finding the total, average, minimum and maximum in a program - (2012-02-22)
  [3769] Muttable v immutable and implications - Ruby - (2012-06-20)
  [4322] Learning to Program - the conditional statement (if) - (2014-11-21)
  [4323] Learning to program - Loop statements such as while - (2014-11-22)
  [4370] Conditionals, loops and methods in Ruby - a primer with simple examples - (2014-12-29)
  [4402] Finding sum, minimum, maximum and average in Python (and Ruby) - (2015-01-19)
  [4503] Separating your code for easier testing, understanding and re-use; example in Ruby - (2015-06-02)
  [4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
  [4674] Alternating valuses / flip-flop / toggle - example in Ruby - (2016-05-17)

P206 - Perl - More Loops and Conditionals
  [138] Perl - redo and last without a loop - (2004-12-02)
  [299] What - no switch or case statement? - (2005-05-03)
  [1191] Smart English Output - via PHP and Perl ? : operator - (2007-05-18)
  [1825] Question Mark - Colon operator (Perl and PHP) - (2008-10-08)
  [2815] switch and case, or given and when in Perl - (2010-06-17)
  [2817] Setting a safety net or fallback value in Perl - (2010-06-19)
  [2824] A pint of Black Rat, and a lazy barman - (2010-06-25)
  [2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
  [2967] Multiway branches in Perl - the given and when syntax - (2010-09-22)
  [2972] Some more advanced Perl examples from a recent course - (2010-09-27)
  [3398] Perl - making best use of the flexibility, but also using good coding standards - (2011-08-19)
  [3914] While, for, foreach or something else to loop. - (2012-11-06)

J704 - Java - Loops and Conditional Statements
  [353] Wimbledon Neck - (2005-06-20)
  [2734] for and foreach in Java - (2010-04-22)
  [3038] Setting up individual variables, and arrays, in Java - some commented examples - (2010-11-09)
  [4346] A behaviour driven example of writing a Java program - (2014-12-09)
  [4427] Java example - for loop and conditionals from course exercise - (2015-02-16)

H104 - PHP - Control Statements
  [340] Code and code maintainance efficiency - (2005-06-08)
  [406] Assignment, equality and identity in PHP - (2005-08-08)
  [421] Don't repeat code - use loops or functions - (2005-08-21)
  [863] Double and Triple equals operator in PHP - (2006-09-12)
  [1199] Testing for one of a list of values. - (2007-05-22)
  [1477] Decisions - small ones, or big ones? - (2007-12-18)
  [2304] Extracting real data from an exported file in PHP or Perl - (2009-07-25)
  [2912] Predictions for the seagull population - (2010-08-09)
  [3895] Flowchart to program - learning to program with Well House - (2012-10-14)

C203 - C and C based languages - Conditionals and Loops
  [2002] New C Examples - pointers, realloc, structs and more - (2009-01-20)
  [2570] Function Prototypes in C - (2010-01-11)
  [3004] Increment operators for counting - Perl, PHP, C and others - (2010-10-18)
  [3121] New year, new C Course - (2011-01-05)
  [3243] Breaking the running sequence - an introduction to conditional statements and loops - (2011-04-11)
  [3384] Loops - a comparison of goto, while and for - (2011-08-10)
  [4337] Learning to program sample program - past its prime, but still useful - (2014-12-02)


Back to
Judging the quality of contributed Perl code
Previous and next
or
Horse's mouth home
Forward to
Bathtubs and pecking birds
Some other Articles
Object Relation Mapping (ORM)
Asda opening large new store in Melksham
Perl, the substitute operator s
Bathtubs and pecking birds
for loop - how it works (Perl, PHP, Java, C, etc)
Judging the quality of contributed Perl code
Sunday afternoon
What are factory and singleton classes?
Five of the best - pictures from London
An update on Perl - where is it going?
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1220_for ... -etc-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb