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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [python] Disenar este programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [python] Disenar este programa.  (Leído 7,152 veces)
Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
[python] Disenar este programa.
« en: 3 Octubre 2010, 02:00 am »

Hola:

No entiendo el concepto de lo que me habla.

"El segundo es el cuadrado exacto del primero."

"El segundo es menor que el cuadrado del primero."

"El segundo es mayor que el cuadrado del primero."

Citar
Haz un programa con Python que, dados dos números enteros, muestre por pantalla uno de estos mensajes: "El segundo es el cuadrado exacto del primero.", "El segundo es menor que el cuadrado del primero." o "El segundo es mayor que el cuadrado del primero.", dependiendo
de la verificación de la condición correspondiente al significado de cada mensaje.

Saludo.


En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] Disenar este programa.
« Respuesta #1 en: 3 Octubre 2010, 02:53 am »

Un cuadrado perfecto es un numero cuya raiz cuadrada es un numero entero, osea, no tiene parte decimal (Sacado de Wikipedia ;D) y los cuadrados, es elevar el numero al exponente 2 (n ** 2).

Lo que tenes que hacer son tres comprobaciones, y mostrar un mensaje dependiendo de que condicion se cumple.

Un saludo ;)







« Última modificación: 3 Octubre 2010, 02:55 am por criska » En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: [python] Disenar este programa.
« Respuesta #2 en: 3 Octubre 2010, 03:25 am »

Buenas:

¿Te refieres algo así?

Código
  1. # Visualiza temario y da un salto de línea.
  2. print 'Tema 4, apartado 7. \n'
  3.  
  4. # Introducir un valor entero.
  5. a = float(raw_input('Introduce un número: '))
  6.  
  7. a = sqrt(16)**2
  8. print a

Saludo.
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] Disenar este programa.
« Respuesta #3 en: 3 Octubre 2010, 03:34 am »

Ahi estas "pisando" los valores, porque primero asignas a la variable a el valor ingresado por el usuario, y despues le das como valor el numero 16.

Lo que tenes que hacer es pedir que se ingresen dos numeros enteros (El valor de raw_input() lo tendrias que convertir utilizando int()), y despues hacer un condicional con tres posibles opciones.

Un saludo ;)

Edito:
Una consulta Meta, que manual estas siguiendo?
« Última modificación: 3 Octubre 2010, 03:37 am por criska » En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: [python] Disenar este programa.
« Respuesta #4 en: 3 Octubre 2010, 03:48 am »

Voy a intentarlo.

Estoy siguiendo el manual introducción a la Programación con Python.

No lo tengo completo aún, poco a poco lo estoy consiguiendo por amigos y son en PDF.

Hice algo así:

Código
  1. # Introducir un valor entero.
  2. a = int(raw_input('Introduce un número: '))
  3.  
  4. X = sqrt(16)**2
  5.  
  6. if condición 1:
  7.    print 'El segundo es el cuadrado exacto del primero.'
  8.  
  9. if condición 2:
  10.    print 'El segundo es menor que el cuadrado del primero.'
  11.  
  12. if condición 3:
  13.    print 'El segundo es mayor que el cuadrado del primero.'
  14.  
« Última modificación: 3 Octubre 2010, 04:03 am por Meta » En línea

Meta


Desconectado Desconectado

Mensajes: 3.499



Ver Perfil WWW
Re: [python] Disenar este programa.
« Respuesta #5 en: 3 Octubre 2010, 04:28 am »

Intentando hacer algo de esto:

Código
  1. # Introducir un valor entero.
  2. a = int(raw_input('Introduce un número: '))
  3.  
  4.  
  5. if condición 1:
  6.    X1 = sqrt(16)**2
  7.    print 'El segundo es el cuadrado exacto del primero.'
  8.  
  9. if condición 2:
  10.    X2 = sqrt(16)**2
  11.    print 'El segundo es menor que el cuadrado del primero.'
  12.  
  13. if condición 3:
  14.    X3 = sqrt(16)**2
  15.    print 'El segundo es mayor que el cuadrado del primero.'
  16.  

Sigo intentando y pescando a la vez...

Código
  1.  
  2. from math import sqrt
  3.  
  4. # Introducir un valor entero.
  5. a = int(raw_input('Introduce un número: '))
  6.  
  7.  
  8. if a == 1:
  9.    X1 = sqrt(16)
  10.    print 'El segundo es el cuadrado exacto del primero.'
  11.  
  12. if a < 1:
  13.    X2 = sqrt(16)**2
  14.    print 'El segundo es menor que el cuadrado del primero.'
  15.  
  16. if a > 1:
  17.    X3 = sqrt(16)**2
  18.    print 'El segundo es mayor que el cuadrado del primero.'
  19.  

No se que hay que hacer exactamente. Si hay que usar un if else a lo mejor es buena idea que solo if para arriba y para abajo.

Edito:

Una vez más lo intento, parece que se resiste. Me di cuenta que hay que introducir dos números enteros. Lo leí bien el principio.

Eso si, todavía sigo sin entender ni papa de lo que realmente hay que hacer, por eso estoy así.

Código
  1. from math import sqrt
  2.  
  3. # Introducir un valor entero.
  4. a = int(raw_input('Introduce un n&#250;mero entero: '))
  5. b = int(raw_input('Introduce otro n&#250;mero entero: '))
  6.  
  7.  
  8. if a == b:
  9.    X1 = sqrt(16)
  10.    print 'El segundo es el cuadrado exacto del primero.'
  11.  
  12. if a < b:
  13.    X2 = sqrt(16)**2
  14.    print 'El segundo es menor que el cuadrado del primero.'
  15.  
  16. if a > b:
  17.    X3 = sqrt(16)**2
  18.    print 'El segundo es mayor que el cuadrado del primero.'
  19.  



Código
  1. from math import sqrt
  2.  
  3. # Introducir un valor entero.
  4. a = int(raw_input('Introduce un n&#250;mero entero: '))
  5. b = int(raw_input('Introduce otro n&#250;mero entero: '))
  6.  
  7.  
  8. if a == b:
  9.    X1 = sqrt(b)
  10.    print 'El segundo es el cuadrado exacto del primero.'
  11.  
  12. if a < b:
  13.    X2 = sqrt(b)
  14.    print 'El segundo es menor que el cuadrado del primero.'
  15.  
  16. if a > b:
  17.    X3 = sqrt(b)
  18.    print 'El segundo es mayor que el cuadrado del primero.'

Saludo.
« Última modificación: 3 Octubre 2010, 07:09 am por Meta » En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [python] Disenar este programa.
« Respuesta #6 en: 3 Octubre 2010, 14:44 pm »

Buenas,

No entiendo es porque dentro de cada if pones X1 = sqrt(b). En todo caso eso deberia ser parte de la condicion :)

Por ejemplo, la primer condicion dice "El segundo es el cuadrado exacto del primero". Lo que tendrias que hacer seria algo asi:

Código
  1. if a = math.sqrt(b) # La raiz cuadrada del segundo, es el primero

Lo que vos haces en tu script, es comprobar que a y b son iguales. Se nota la diferencia?

Otra cosa, si lo que queres evaluar son varias condiciones, tenes dos formas mas para hacerlo.

Utilizando if's anidados:

Código
  1. if condicion1:
  2.    # Instrucciones a ejecutar
  3. else:
  4.    if condicion2:
  5.        # Instrucciones a ejecutar
  6.    else:
  7.        if condicion3:
  8.            # Instrucciones a ejecutar

O utilizando elif:

Código
  1. if condicion1:
  2.    # Instrucciones
  3. elif condicion2:
  4.    # Instrucciones
  5. elif condicion3:
  6.    # Instrucciones
  7.    # Como ves, la sentencia ELSE no es obligatoria

Un saludo ;)
           
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No me funciona este programa de python
Scripting
VanX 4 4,040 Último mensaje 9 Agosto 2011, 13:37 pm
por VanX
[Python] Evolución y resultado de un programa
Scripting
thestrass 3 3,130 Último mensaje 11 Enero 2012, 18:00 pm
por D4RIO
PROGRAMA EN PYTHON
Scripting
D@V1D94 2 5,496 Último mensaje 31 Enero 2012, 20:30 pm
por D@V1D94
[Python/Tk]Mi Programa se ríe de mi
Scripting
AdeLax 2 2,917 Último mensaje 11 Agosto 2013, 12:19 pm
por AdeLax
Problema programa Python
Scripting
Akendore 4 3,291 Último mensaje 7 Septiembre 2015, 19:33 pm
por Akendore
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines