Buenas compañeros, primero soy nuevo en el lenguaje de python y estoy llevando un curso con este lenguaje, estoy intentando compilar un código del juego de la vida, solo que me aparece este error:
Código:
Traceback (most recent call last):
File "python", line 75, in <module>
NameError: name 'recorre_cadena' is not defined
ya intente solucionarlo definiendo lo así: recorre_cadena=" " pero me sale otro error :
Código:
Traceback (most recent call last):
File "python", line 76, in <module>
TypeError: 'str' object is not callable
Alguien me podría apoyar como se solucionaría o en que me estoy equivocando, porfavor.
Código Python:
Ver original'''
Automata con celdas binarias, donde cada celda tiene dos vecinos
'''
import sys
# Imprimir resultado con el formato establecido: 0=blanco, 1=*.
# Entrada: cadena
# Salida: cadena con formato establecido (anexa guiones al principio y al final)
cadena=" "
resultado_formato=" "
def imprime_resultado(cadena):
resultado_formato='_'
for caracter in cadena:
if caracter=='1':
resultado_formato=resultado_formato + '+'
else:
resultado_formato=resultado_formato + 'a'
print ("_")
def procesa_ventana():
if ventana[0]==ventana[2]:
resultado='1'
else:
resultado='0'
def recorre_cadena(cadena):
nueva_cadena=''
for i in range(0,len(cadena)-2):
n=len(cadena)
ventana=cadena[i:i+3]
nueva_cadena=nueva_cadena+procesa_ventana(ventana)
ultima_ventana=cadena[len(cadena)-2]+cadena[len(cadena)-1]+cadena[0]
primera_ventana=cadena[len(cadena)-1]+cadena[0]+cadena[1]
ultima_celda=procesa_ventana(ultima_ventana)
primer_celda=procesa_ventana(primera_ventana)
nueva_cadena=primer_celda+nueva_cadena+ultima_celda;
return nueva_cadena
# Main (parte principal del programa)
# Cadenas de prueba
mi_cadena="0000000000000000000000000000000000100000000000000000000000000000000000"
# Toma la cantidad de iteraciones como argumento de la linea de comand
iteraciones=sys.argv[0]
for i in range(0,len(iteraciones)):
imprime_resultado(mi_cadena)
nueva_cadena=recorre_cadena(mi_cadena)
mi_cadena=nueva_cadena