Python: How do I print a statement when a for loop completes a number of times?
<p>I have some code which mainly revoles around the following couple of lines:</p>

<pre><code>#! /usr/bin/env python

from crypt import crypt
import itertools
from string import ascii_letters, digits

def decrypt(all_hashes, salt, charset=ascii_letters + digits + '-' + '/'):
    products = (itertools.product(charset, repeat=r) for r in range(10))
    chain = itertools.chain.from_iterable(products)
    for i, candidate in enumerate(chain, 1):
        if i % 100 == 0:
            print ('%d th candidate: %s' % (i, candidate))
        hash = crypt(''.join(candidate), salt)
        if hash in all_hashes:

            yield candidate, hash
            all_hashes.remove(hash)

        if not all_hashes:
            return

all_hashes = ('aaRrt6qwqR7xk', 'aaacT.VSMxhms' , 'aaWIa93yJI9kU',
'aakf8kFpfzD5E', 'aaMOPiDnXYTPE', 'aaz71s8a0SSbU', 'aa6SXFxZJrI7E',
'aa9hi/efJu5P.', 'aaBWpr07X4LDE', 'aaqwyFUsGMNrQ', 'aa.lUgfbPGANY',
'aaHgyDUxJGPl6', 'aaTuBoxlxtjeg', 'aaluQSsvEIrDs', 'aajuaeRAx9C9g',
'aat0FraNnWA4g', 'aaya6nAGIGcYo', 'aaya6nAGIGcYo', 'aawmOHEectP/g',
'aazpGZ/jXGDhw', 'aadc1hd1Uxlz.', 'aabx55R4tiWwQ', 'aaOhLry1KgN3.',
'aaGO0MNkEn0JA', 'aaGxcBxfr5rgM', 'aa2voaxqfsKQA', 'aahdDVXRTugPc',
'aaaLf47tEydKM', 'aawZuilJMRO.w', 'aayxG5tSZJJHc', 'aaPXxZDcwBKgo',
'aaZroUk7y0Nao', 'aaZo046pM1vmY', 'aa5Be/kKhzh.o', 'aa0lJMaclo592',
'aaY5SpAiLEJj6', 'aa..CW12pQtCE', 'aamVYXdd9MlOI', 'aajCM.48K40M.',
'aa1iXl.B1Zjb2', 'aapG.//419wZU')

all_hashes = set(all_hashes)
salt = 'aa'
for candidate, hash in decrypt(all_hashes, salt):
    print 'Found', hash, '! The original string was', candidate
</code></pre>

<p>The program is basically a Brute Force attack and because the output can take a while I need to know if the program is still running or has crashed so I was thinking of having an output statement that says how many combinations of characters have been tried and maybe what the last tried string was but have no idea how to do it.</p>

<p>Thanks in advance for assistance</p>
