Hello! Thanks for the cool book!
I might be wrong, but in telephone.py you suggest to use:
new_char = random.choice(alpha.replace(new_text[i], ''))
And my workaround for this was:
while True:
new_char = random.choice(alpha)
if new_char != new_text[i]:
break
Is it valid? I think it is, but, using this solution I cannot pass the test... The reason for this is that after replacing character for nothing you are get random choice from another string...