elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  cambiar valor variable ciclo for duda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: cambiar valor variable ciclo for duda  (Leído 2,630 veces)
asdexiva

Desconectado Desconectado

Mensajes: 217



Ver Perfil
cambiar valor variable ciclo for duda
« en: 7 Febrero 2015, 20:41 pm »

Código
  1. valor = input ('Ingrese cantidad a repetir: ')
  2. valor1 = 2160
  3.  
  4. # se inicia el ciclo
  5. for i in range(0,valor):
  6.  
  7.    #se eleva al cuadrado
  8.    cuadrado=valor1** 2
  9.    # se guarda en otra variable llamada elevado
  10.    elevado=cuadrado
  11.    #se mide el tamaño
  12.    tamano=len(str(elevado))
  13.    if tamano==7:
  14.        elevado1= "0" + str(elevado)
  15.    if tamano==6:
  16.        elevado= "00" + str(elevado)
  17.    if tamano==5:
  18.        elevado1= "000" + str(elevado)
  19.    if tamano==4:
  20.        elevado1= "0000" + str(elevado)
  21.    if tamano==5:
  22.        elevado1= "000" + str(elevado)
  23.    if tamano==4:
  24.        elevado1= "0000" + str(elevado)
  25.    if tamano==3:
  26.        elevado1= "00000" + str(elevado)
  27.        #se acorta
  28.    xd = elevado1[2:-2]
  29.   #se convierte a numero
  30.    lol=int(xd)
  31.    #se eleva al cuadrado
  32.    xad=lol** 2
  33.    valor1=xad
  34.    print  xd
  35.  

espero y me puedan ayudar se supone que en cada vuelta tiene que agarrar el valor elevado al cuadrado y acortarlo e imprimirlo
pero lo unico que hace es repetir el mismo valor inicial :S


« Última modificación: 11 Febrero 2015, 09:21 am por Eleкtro » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: cambiar valor variable ciclo for duda
« Respuesta #1 en: 7 Febrero 2015, 21:15 pm »

supondré que es python por la primer linea...

tu error está en "elevado1" si tu valor es muy grande no entra a los if

en la primera vuelta xad vale 44302336 por lo tanto en la sgunda vuelta cuadrado vale 1962696975056896 que es mucho más largo que 7...

varias recomendaciones...
1- usa else if (elif) ya que así el programa se salta los casos innecesarios
2- range por defecto es desde 0 así que puedes hacer range(valor)


realmente no se que desastre intentas hacer con los 0 o lograr... pero si arreglas elevado1 resuelves tu problema


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
asdexiva

Desconectado Desconectado

Mensajes: 217



Ver Perfil
Re: cambiar valor variable ciclo for duda
« Respuesta #2 en: 7 Febrero 2015, 21:31 pm »

supondré que es python por la primer linea...

tu error está en "elevado1" si tu valor es muy grande no entra a los if

en la primera vuelta xad vale 44302336 por lo tanto en la sgunda vuelta cuadrado vale 1962696975056896 que es mucho más largo que 7...

varias recomendaciones...
1- usa else if (elif) ya que así el programa se salta los casos innecesarios
2- range por defecto es desde 0 así que puedes hacer range(valor)


realmente no se que desastre intentas hacer con los 0 o lograr... pero si arreglas elevado1 resuelves tu problema

los 0 son por la formula metodo cuadrado medio,  pero aun asi cuando imprime sigue mostrando solo la primera cifra al cuadrado las demas no :S

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
« Última modificación: 7 Febrero 2015, 21:40 pm por asdexiva » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: cambiar valor variable ciclo for duda
« Respuesta #3 en: 7 Febrero 2015, 21:50 pm »

para que tu codigo se vea bien usa las etiqeutas GeSHi...

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
  1. valor = input ('Ingrese cantidad a repetir: ')
  2. valor1 = 2160
  3.  
  4. # se inicia el ciclo
  5. for i in range(0,valor):
  6.  
  7.    #se eleva al cuadrado
  8.    cuadrado=valor1** 2 #<- aqui asignas valor
  9.    # se guarda en otra variable llamada elevado
  10.    elevado=cuadrado #<- aquí pasas a otra variable
  11.    #se mide el tamaño
  12.    tamano=len(str(elevado))
  13.    if tamano==7:
  14.        elevado1= "0" + str(elevado)
  15.    if tamano==6:
  16.        elevado= "00" + str(elevado)
  17.    if tamano==5:
  18.        elevado1= "000" + str(elevado)
  19.    if tamano==4:
  20.        elevado1= "0000" + str(elevado)
  21.    if tamano==5:
  22.        elevado1= "000" + str(elevado)
  23.    if tamano==4:
  24.        elevado1= "0000" + str(elevado)
  25.    if tamano==3:
  26.        elevado1= "00000" + str(elevado)
  27.        #se acorta
  28.    xd = elevado1[2:-2] #<- pasas elevado1 a xd, pero si el numero era más lago de 7 nunca fue asignado
  29.    #por lo tanto elevado1 tiene un valor inesperado y no controlado, ya que nunca se asignó
  30.    #por lo tanto el interprete asume que fue el ultimo usado
  31.    #se convierte a numero
  32.    lol=int(xd)
  33.    #se eleva al cuadrado
  34.    xad=lol**
  35.    valor1=xad
  36.    print  xd
  37.  


para corregir eso, y mejorar la eficiencia del programa usa elif y else
« Última modificación: 7 Febrero 2015, 21:52 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] Cambiar valor a una variable con IF AYUDA! « 1 2 »
Scripting
Delva 12 10,266 Último mensaje 16 Noviembre 2010, 22:35 pm
por xassiz~
Cambiar el Valor de una Variable a una hora concreta
Java
thechacal23 4 3,695 Último mensaje 3 Enero 2012, 03:47 am
por Proteus1989
Exportar el valor de una variable dentro de un ciclo a otro.
Programación C/C++
josri 1 1,980 Último mensaje 26 Mayo 2013, 09:45 am
por leosansan
Cambiar el valor de una variable en un puntero
Programación C/C++
boy-ka 5 8,324 Último mensaje 7 Abril 2015, 10:25 am
por eferion
Cambiar valor de una variable de tipo estructura
Programación C/C++
4dr14n31t0r 3 2,116 Último mensaje 27 Septiembre 2016, 19:52 pm
por 4dr14n31t0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines