Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Meta

#1431
Scripting / Re: [Python] - Menú con While.
16 Octubre 2010, 04:13 AM
Gracias por el error, sólo es el del paréntesis.

En su salida me ha dado este resultado.

CitarSelecciona una opción:
           a) Introducir el primer vector.
           b) Introducir el segundo vector.
           c) Calcular la suma.
           d) Calcular la diferencia.
           e) Calcular el producto escalar.
           f) Calcular el producto vectorial.
           g) Calcular el ángulo (en gastos) entre ellos.
           h) Calcular la longitud.
           i) Finalizar.
Pulsa a, b, c, d, e, f, g, h o i, luego pulsa retorno de carro: a
Introduce valor x1: 3
Introduce valor y1: 4
Introduce valor z1: 5
Gracias por usar el programa.

Por fin me funciona algo. Por ahora me falta que vuelta al menú para hacer la opción b). He leído por Internet que los goto están prohibidos usarlos para el aprendizaje o sino cogeré malos hábitos en programación. Deja ver como me sale.


Edito:


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

opcion = ''
while opcion < 'a' or opcion > 'i':
   print '''Selecciona una opción:
           a) Introducir el primer vector.
           b) Introducir el segundo vector.
           c) Calcular la suma.
           d) Calcular la diferencia.
           e) Calcular el producto escalar.
           f) Calcular el producto vectorial.
           g) Calcular el ángulo (en gastos) entre ellos.
           h) Calcular la longitud.
           i) Finalizar. '''
           
   opcion = raw_input('Pulsa a, b, c, d, e, f, g, h o i, luego pulsa retorno de carro: ')
   
# Primer vector.
if  opcion == 'a':
   x1 = float(raw_input('Introduce valor x1: '))
   y1 = float(raw_input('Introduce valor y1: '))
   z1 = float(raw_input('Introduce valor z1: '))
   
# Segundo vector.
elif opcion == 'b':
   x2 = float(raw_input('Introduce valor x2: '))
   y2 = float(raw_input('Introduce valor y2: '))
   z2 = float(raw_input('Introduce valor z2: '))
# Suma.
elif opcion == 'c':

       suma = (x1 + x2, y1 + y2, z1 + z2)
       print suma

# Diferencia.
elif opcion == 'd':

       diferencia = (x1 - x2, y1 - y2, z1 - z2)
       print diferencia

# Producto escalar.
elif opcion == 'e':

       producto = (x1 * x2 + y1 * y2 + z1 * z2)
       print producto
       
# Producto vectorial.
elif opcion == 'f':

       vectorial = (y1 * z2 - z1 * y2, z1 * x2 - x1 * z2, x1 * y2 - y1 * x2)
       print vectorial
       
# Ángulo.
elif opcion == 'g':
       print  (180 / pi) * arcos * (x1 * x2 + y1 * y2 + z1 * z2) / (sqrt(x1**2 + y1**2 + z1**2) * sqrt(x2**2 + y2**2 + z2**2))

# Longitud.
elif opcion == 'h':

       x = float(raw_input('Introduce valor x: '))
       y = float(raw_input('Introduce valor y: '))
       z = float(raw_input('Introduce valor z: '))

       longitud = sqrt(x**2+y**2+z**2)
       print longitud
       
elif opcion == 'i':
       print 'Sólo hay sietes opciones: a, b, c, d, e, f o g. Usted has tecleado', opcion
print 'Gracias por usar el programa.'


Debo hacer algo para que cuando acabe una operación vuelva al menú principal automáticamente, cuando pulse i) para finalizar es cuando debe aparecer el mensaje "Gracias por usar el programa." y se acaba el programa o...

...¿hay que dejarlo así en este ejercicio?

Edito 2:

El programa me debe funcionar de esta manera sin usar GOTOssssssssssssss.

Si pulso a), te pide introducir el primer vector. Luego se acaba el programa y no se puede continuar para rellenar el vector 2.

Desde que introduzca los datos de la opción a), que vuelva almenú principal, así con cada opción excepto la opción i) que es cuando realmente se acaba el programa.
#1432
Scripting / Re: Valores incorrectos [python]
16 Octubre 2010, 02:59 AM
Código (python) [Seleccionar]

bi = int(raw_input('Ingresa dinero: '))

for eu in [500, 200, 100, 50, 20, 10, 5, 2, 1]:
    print '%d billetes de %d' % ((bi / eu), eu)
    bil = bi % eu
#1433
Scripting / Re: [Python] - Menú con While.
16 Octubre 2010, 02:47 AM
Ya decía yo. Rectificar es de sabio.

Hay algo que no entiendo. Añado estás líneas de código.

Código (python) [Seleccionar]
# Introducir vectores.
vector1 = float(raw_input('Introduce el primer vector: '))
vector2 = float(raw_input('Introduce el segundo vector: '))


Por lo que te entiendo pregunta por más variables en cada vector que sería así supuestamente.

Código (python) [Seleccionar]

from math import acos, pi, sqrt

opcion = ''
while opcion < 'a' or opcion > 'i':
    print '''Selecciona una opción:
            a) Introducir el primer vector.
            b) Introducir el segundo vector.
            c) Calcular la suma.
            d) Calcular la diferencia.
            e) Calcular el producto escalar.
            f) Calcular el producto vectorial.
            g) Calcular el ángulo (en gastos) entre ellos.
            h) Calcular la longitud.
            i) Finalizar. '''
           
    opcion = raw_input('Pulsa a, b, c, d, e, f, g, h o i, luego pulsa retorno de carro: ')
   
# Primer vector.
if  opcion == 'a':
    x1 = float(raw_input('Introduce valor x1: '))
    y1 = float(raw_input('Introduce valor y1: '))
    z1 = float(raw_input('Introduce valor z1: '))
   
# Segundo vector.
elif opcion == 'b':
    x2 = float(raw_input('Introduce valor x2: '))
    y2 = float(raw_input('Introduce valor y2: '))
    z2 = float(raw_input('Introduce valor z2: '))
# Suma.
elif opcion == 'c':

        suma = (x1 + x2, y1 + y2, z1 + z2)
        print suma

# Diferencia.
elif opcion == 'd':

        diferencia = (x1 - x2, y1 - y2, z1 - z2)
        print diferencia

# Producto escalar.
elif opcion == 'e':

        producto = (x1 * x2 + y1 * y2 + z1 * z2)
        print producto
       
# Producto vectorial.
elif opcion == 'f':

        vectorial = (y1 * z2 - z1 * y2, z1 * x2 - x1 * z2, x1 * y2 - y1 * x2)
        print vectorial
       
# Ángulo.
elif opcion == 'g':

        print  (180 / pi) * arcos * ((x1 * x2 + y1 * y2 + z1 * z2) / (sqrt(x1**2 + y1**2 + z1**2) * (sqrt(x2**2 + y2**2 + z2**2))

# Longitud.
elif opcion == 'h':

        x = 56
        y = 92
        z = 50

        longitud = sqrt(x**2+y**2+z**2)
        print longitud
       
elif opcion == 'i':
        print 'Sólo hay sietes opciones: a, b, c, d, e, f o g. Usted has tecleado', opcion
print 'Gracias por usar el programa.'


¿Te refieres algo así?

Ahora mismo no lo puedo ejecutar para hacer pruebas porque me da fallos.
CitarFile "/home/user/NetBeansProjects/kam/src/kam.py", line 90
    elif opcion == 'h':
       ^
SyntaxError: invalid syntax
#1434
Scripting / Re: [Python] raíz n ésima
16 Octubre 2010, 01:53 AM
Cita de: .:WindHack:. en 15 Octubre 2010, 18:58 PM
No entiendo muy bien qué tiene que ver el for in ahí. Supongo que debes de calcular la raíz del número dado (a) desde dos hasta cien (n) ¿O no?.

Lo que hice fue algo así...

Código (python) [Seleccionar]
a = input('Number: ')

n = 1
while (n < 100):
       n += 1
       y = a ** (1.0 / n)
       print 'r(%i) = %f' % (n,y)



Number: 8
r(2) = 2.828427
r(3) = 2.000000
r(...) = ...
r(99) = 1.021227
r(100) = 1.021012


Funciona.

Muchas gracias.  ;-)
#1435
Scripting / Re: [Python] - Menú con While.
16 Octubre 2010, 00:54 AM
Muchas gracias. No recuerdo haberlo leído en ninguta parte del PDF que estoy leyendo. Apróximadamente voy por la página 109 y no he leído nada de eso y no se si vendrá.

http://marmota.act.uji.es/mtp/pdf/python.pdf

Saludo.
#1436
Scripting / Re: [Python] - Menú con While.
15 Octubre 2010, 23:52 PM
Cita de: Novlucker en 15 Octubre 2010, 23:35 PM
Que indica? ... Que tienes que tener dos vectores :rolleyes:

Si, y eso me da vueltas a la cabeza, que supuestamente debe ser while, no un tem apor delante como indica en la página 109 del pdf http://marmota.act.uji.es/mtp/pdf/python.pdf . Con razón que siempre me faltaba ideas que luego veía.

"Deseamos confeccionar un programa que permita operar con dos vectores".
"Introducir el primer vector"
"Introducir el segundo vector"

Entonces seguiré practicando en el pdf a ver si encuentro la solución.


Saludos

Gracias por tu tiempo.

#1437
Scripting / Re: [Python] - Menú con While.
15 Octubre 2010, 23:22 PM
Pregunto, ya que entra en la categoría de sólo while sin for in que indica el pdf que puedes ver en la página 109.

http://marmota.act.uji.es/mtp/pdf/python.pdf

Saludo.
#1438
Scripting / Re: [Python] raíz n ésima
15 Octubre 2010, 23:20 PM
Hola:

No lo has leído todo. Estoy aprendiendo por mi cuenta a lo bruto con el PDF, si me hacen la tarea (que es voluntario), no aprenderé nunca. Gracias por las ayudas aprendo cositas y guardo los ejercicos, me veo que tengo que releer el pdf cuando acabe y aprenderé más.

http://marmota.act.uji.es/mtp/pdf/python.pdf

Saludo.
#1439
Scripting / Re: [Python] - Menú con While.
15 Octubre 2010, 21:52 PM
No lo estoy usando y no debo usarlo. Hay que usar sólo el bucle While y no el for in como creía.
#1440
Scripting / Re: [Python] raíz n ésima
15 Octubre 2010, 17:40 PM
¿sqrt(2)?