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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Python: algo estoy haciendo mal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Python: algo estoy haciendo mal  (Leído 5,421 veces)
Astergoth

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Python: algo estoy haciendo mal
« en: 26 Mayo 2017, 23:32 pm »

Hola a tod@s,

Como comente en otro post estoy aprendiendo python en mis momentos libres y todo genial, excepto en un ejercicio el cual no me sale ningún error de sintaxis pero el resultado no concuerda o ni aparece.

El caso es que tengo que escribir un programa (bastante sencillo) el cual debe:
- imprimir un mensaje de bienvenida
- solicitar al usuario 2 números enteros (n1, n2)
- hacer el cuadrado de todos los numeros que el usuario haya ingresado.
- imprimir mensaje de despedida.

Adjunto foto del codigo fuente del programa:


El caso es que en el segundo numero pongo "5" y me sale de resultado 16 por ejemplo, el primer numero me sale bien pero el segundo no.
Que he podido hacer mal??

Gracias de antemano


« Última modificación: 27 Mayo 2017, 02:12 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #1 en: 27 Mayo 2017, 00:13 am »

realmente no diste basicamente nada de información... tu codigo está bien, y todo lo que dices es que no da el resultado esperado... usa print(x) en la linea 12 a ver si hace el recorrido esperado


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.
Astergoth

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #2 en: 27 Mayo 2017, 01:19 am »

realmente no diste basicamente nada de información... tu codigo está bien, y todo lo que dices es que no da el resultado esperado... usa print(x) en la linea 12 a ver si hace el recorrido esperado
Hola engel,

He hecho lo que me has dicho y parece no reconocer el segundo numero, pero no veo ningún error en el codigo, no se si será por la variable o por el "for".

Gracias
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #3 en: 27 Mayo 2017, 01:23 am »

no estás dando nada de información... que versión de python usas?

el codigo está bien

muestra que te dá y que esperas... preferiblemente copia y pega el codigo en lugar de usar fotos, se lee mejor
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.
Astergoth

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #4 en: 27 Mayo 2017, 01:52 am »

no estás dando nada de información... que versión de python usas?

el codigo está bien

muestra que te dá y que esperas... preferiblemente copia y pega el codigo en lugar de usar fotos, se lee mejor

perdona, me suelo conectar al foro desde el movil.

uso python2.7 escrito con pluma,

el codigo es:

Código
  1. #!/usr/bin/env python
  2.  
  3. print ('Hola, bienvenido al problema 1.6.1')
  4.  
  5. def cua(num):
  6. print num * num
  7.  
  8. n1 = input ("ingrese un numero: ")
  9. n2 = input ("ingrese un numero: ")
  10.  
  11. def cuad():
  12. for x in range (n1, n2):
  13. cua (x)
  14.  
  15. cuad ()
  16.  
  17. print ('Asi termina el problema')]
* sin parentesis cuadrados
el resultado de "n1" lo da bien pero el de "n2" lo da mal o ni lo da, cosa que me parece extraña ya que el codigo esta hecho para que imprima los 2 resultados bien.
si lo ejecuto me pide los 2 numeros pero si pongo por ejemplo 2 y 4 me dice que el cuadrado de 4 es 9 o ni lo imprime.

gracias de nuevo.


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

perdon para la proxima lo se.
« Última modificación: 27 Mayo 2017, 02:03 am por Astergoth » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #5 en: 27 Mayo 2017, 01:57 am »

Código
  1. n1 = input ("ingrese un numero: ")
  2. n2 = input ("ingrese un numero: ")
  3.  
  4. def cuad():
  5. for x in range (n1, n2):
  6. print(x)
  7.  
  8. cuad ()
  9.  

usa ese codigo y dime si da el resultado esperado
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.
Astergoth

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #6 en: 27 Mayo 2017, 02:06 am »

Código
  1. n1 = input ("ingrese un numero: ")
  2. n2 = input ("ingrese un numero: ")
  3.  
  4. def cuad():
  5. for x in range (n1, n2):
  6. print(x)
  7.  
  8. cuad ()
  9.  

usa ese codigo y dime si da el resultado esperado

ingresando 2 y 4 me dice 2 y 3 respectivamente, es como si le restase 1 al segundo valor.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #7 en: 27 Mayo 2017, 02:10 am »

ingresando 2 y 4 me dice 2 y 3 respectivamente, es como si le restase 1 al segundo valor.

exacto, así funciona...

como es comunmente usado para for es equivalente a

Código
  1. for (i = n1; i < n2; i++)

por eso es importante leerse la documentación del lenguaje con el que trabajas
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.
Astergoth

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Re: Python: algo estoy haciendo mal
« Respuesta #8 en: 27 Mayo 2017, 02:15 am »

exacto, así funciona...

como es comunmente usado para for es equivalente a

Código
  1. for (i = n1; i < n2; i++)

por eso es importante leerse la documentación del lenguaje con el que trabajas

justamente estaba leyendo la docu de for en el interprete, te lo iba a decir, perdona el despiste.
por cierto la firma tiene una razón que no veas.

muchas gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines