#!/usr/bin/python3
# ===============================================================
# Recamán's Sequence (0 thru 20)
# ===============================================================
VERBOSE = False
current_seq_value = 0
sequence = [0]
for mov in range(1,20):
if VERBOSE:
print()
print(f'move distance is {mov}')
print(f'current seq value is {current_seq_value}')
# ---- move down
next_seq_value = current_seq_value - mov
# ---- move up?
if next_seq_value in sequence or next_seq_value < 0:
next_seq_value = current_seq_value + mov
if VERBOSE: print(f'next seq value is {next_seq_value}')
if next_seq_value in sequence:
print()
print('Error:')
print(f'{next_seq_value} is already in the sequence')
print('and can only be used once.')
break
sequence.append(next_seq_value)
current_seq_value = next_seq_value
# ---- display sequence
print()
print(f'Sequence: {sequence}')
print()