# Check for triple repeats
pos = 0
for eachChar in password:
if pos < pw_len - 2:
if eachChar == password[pos + 1] and eachChar == password[pos + 2]:
no_rpt = False
else:
pos += 1
# Check for out of range characters
for eachChar in password:
val = ord(eachChar)
if val < 0x20 or val > 0x7f:
rng = False
if upp and low and num and spc and cnt and rng and no_rpt:
return True
else:
return False