Citar
y a proposito de que el valor es largo no importa que sea largo por que se lo salta y lo tendria que imprimir no necesito entrar a los ifs a menos que sea menor a 8 es la regla del metodo
ya que no lo ves, te comento los errores en el codigo
Código
valor = input ('Ingrese cantidad a repetir: ') valor1 = 2160 # se inicia el ciclo for i in range(0,valor): #se eleva al cuadrado cuadrado=valor1** 2 #<- aqui asignas valor # se guarda en otra variable llamada elevado elevado=cuadrado #<- aquí pasas a otra variable #se mide el tamaño tamano=len(str(elevado)) if tamano==7: elevado1= "0" + str(elevado) if tamano==6: elevado= "00" + str(elevado) if tamano==5: elevado1= "000" + str(elevado) if tamano==4: elevado1= "0000" + str(elevado) if tamano==5: elevado1= "000" + str(elevado) if tamano==4: elevado1= "0000" + str(elevado) if tamano==3: elevado1= "00000" + str(elevado) #se acorta xd = elevado1[2:-2] #<- pasas elevado1 a xd, pero si el numero era más lago de 7 nunca fue asignado #por lo tanto elevado1 tiene un valor inesperado y no controlado, ya que nunca se asignó #por lo tanto el interprete asume que fue el ultimo usado #se convierte a numero lol=int(xd) #se eleva al cuadrado xad=lol** valor1=xad print xd
para corregir eso, y mejorar la eficiencia del programa usa elif y else