Exploration/math-problems/see-it-generator/main.py

62 lines
1.4 KiB
Python
Raw Permalink Normal View History

2024-11-23 00:01:00 +00:00
import pandas as pd
import time
def main():
"""
Print out a sequence following the see-it sequence
"""
upper_bound = 100
seed = "1"
file_location = "output.csv"
df = pd.DataFrame(columns=["Iteration", "Length", "Value"])
val = seed
for i in range(0,upper_bound):
#print(f"Iteration : {i}")
#print(f"Length : {len(val)}")
#print(val)
df.loc[len(df)] = [i, len(val), val]
start_time = time.time()
val = next_step(val)
elasped_time = time.time() - start_time
print(f"Iteration : {i} of {upper_bound} (took {elasped_time:.4f} seconds)")
df.to_csv(file_location, index=False)
print("Progress saved to file")
print("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=")
print("Result logged to {file_location.csv}")
def next_step(sequence: str) -> str:
last_char = None
last_char_count = 0
ret = ""
for char in sequence:
if last_char == None:
last_char = char
last_char_count = 1
elif char == last_char:
last_char_count += 1
else:
ret += str(last_char_count)
ret += str(last_char)
last_char_count = 1
last_char = char
if ret != None:
ret += str(last_char_count)
ret += str(last_char)
return ret
if __name__ == "__main__":
main()