Here is a first attempt at generating all strings of length length. The idea is to use continue to ignore part of the nested loop structure.
def print_all_passwords(length):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for letter1 in alphabet:
if length == 1:
print(letter1)
continue #go back to
#for letter1 in alphabet and assign
#the next letter to letter1
for letter2 in alphabet:
if length == 2:
print(letter1+letter2)
continue #go back to
#for letter2in alphabet and assign
#the next letter to letter2
for letter3 in alphabet:
if length == 3:
print(letter1+letter2+letter3)
continue
for letter4 in alphabet:
if length == 4:
print(letter1+letter2+letter3+letter4)