[python] Disenar este programa.

Iniciado por Meta, 3 Octubre 2010, 02:00 AM

0 Miembros y 2 Visitantes están viendo este tema.

Meta

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

CitarHaz 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.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

#1
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 ;)






Meta

Buenas:

¿Te refieres algo así?

Código (python) [Seleccionar]
# Visualiza temario y da un salto de línea.
print 'Tema 4, apartado 7. \n'

# Introducir un valor entero.
a = float(raw_input('Introduce un número: '))

a = sqrt(16)**2
print a


Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

#3
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?

Meta

#4
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 (python) [Seleccionar]

# Introducir un valor entero.
a = int(raw_input('Introduce un número: '))

X = sqrt(16)**2

if condición 1:
    print 'El segundo es el cuadrado exacto del primero.'

if condición 2:
    print 'El segundo es menor que el cuadrado del primero.'
   
if condición 3:
    print 'El segundo es mayor que el cuadrado del primero.'
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Meta

#5
Intentando hacer algo de esto:

Código (python) [Seleccionar]

# Introducir un valor entero.
a = int(raw_input('Introduce un número: '))


if condición 1:
    X1 = sqrt(16)**2
    print 'El segundo es el cuadrado exacto del primero.'

if condición 2:
    X2 = sqrt(16)**2
    print 'El segundo es menor que el cuadrado del primero.'

if condición 3:
    X3 = sqrt(16)**2
    print 'El segundo es mayor que el cuadrado del primero.'


Sigo intentando y pescando a la vez...

Código (python) [Seleccionar]


from math import sqrt

# Introducir un valor entero.
a = int(raw_input('Introduce un número: '))


if a == 1:
    X1 = sqrt(16)
    print 'El segundo es el cuadrado exacto del primero.'

if a < 1:
    X2 = sqrt(16)**2
    print 'El segundo es menor que el cuadrado del primero.'

if a > 1:
    X3 = sqrt(16)**2
    print 'El segundo es mayor que el cuadrado del primero.'


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 (python) [Seleccionar]

from math import sqrt

# Introducir un valor entero.
a = int(raw_input('Introduce un número entero: '))
b = int(raw_input('Introduce otro número entero: '))


if a == b:
    X1 = sqrt(16)
    print 'El segundo es el cuadrado exacto del primero.'

if a < b:
    X2 = sqrt(16)**2
    print 'El segundo es menor que el cuadrado del primero.'

if a > b:
    X3 = sqrt(16)**2
    print 'El segundo es mayor que el cuadrado del primero.'




Código (python) [Seleccionar]
from math import sqrt

# Introducir un valor entero.
a = int(raw_input('Introduce un número entero: '))
b = int(raw_input('Introduce otro número entero: '))


if a == b:
    X1 = sqrt(b)
    print 'El segundo es el cuadrado exacto del primero.'

if a < b:
    X2 = sqrt(b)
    print 'El segundo es menor que el cuadrado del primero.'

if a > b:
    X3 = sqrt(b)
    print 'El segundo es mayor que el cuadrado del primero.'


Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

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 (python) [Seleccionar]
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 (python) [Seleccionar]
if condicion1:
    # Instrucciones a ejecutar
else:
    if condicion2:
        # Instrucciones a ejecutar
    else:
        if condicion3:
            # Instrucciones a ejecutar


O utilizando elif:

Código (python) [Seleccionar]
if condicion1:
    # Instrucciones
elif condicion2:
    # Instrucciones
elif condicion3:
    # Instrucciones
    # Como ves, la sentencia ELSE no es obligatoria


Un saludo ;)