Search code examples
pythonwhile-loopdrawturtle-graphicsfractals

Difficulty with while loop in Python fractal drawing program


I´m having a problem with while in my code:

import turtle
import random

print('ENTRADA: F-F-F-F')
print('REGRA: F F-F+F+FF-F-F+F ')

pen = turtle.Pen()

inicial = input("Entrada: ")
regra =input("regra: ")
passos=int(input("passos: "))

final=""
regra = regra.split(' ')


i=0
while i < passos:
    final = inicial.replace(regra[i],regra[i+1] )
i+=1


print(final)

Python error code:

    final = inicial.replace(regra[i],regra[i+1] )

IndexError: list index out of range

Solution

  • I'm guessing this is closer to what you desire:

    print('Example:')
    print('Input: F-F-F-F')
    print('Rule: F F-F+F+FF-F-F+F')
    print()
    
    initial = input("Input: ")
    rule = input("Rule: ")
    steps = int(input("Steps: "))
    
    final = initial
    old, new = rule.split(maxsplit=1)
    
    for _ in range(steps):
        final = final.replace(old, new)
    
    print(final)