[Python] - Menú con While.

Iniciado por Meta, 15 Octubre 2010, 06:10 AM

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

Meta

Buenas:

Por fin llegamos a la parte final de While con un pezado de menú.



Por ahora estoy en el inicio.
Código (python) [Seleccionar]
# Importar arcoseno.
from math import acos

vector1 = float(raw_input('Introduce el primer vector: '))
vector2 = float(raw_input('Introduce el segundo vector: '))

opcion = ''
while opcion < 'a' or opcion > 'g':
   print 'Selecciona una opción: \n'
   print 'a) Calcular la suma.'
   print 'b) Calcular la diferencia.'
   print 'c) Calcular el producto escalar.'
   print 'd) Calcular el producto vectorial.'
   print 'e) Calcular el ángulo (en gastos) entre ellos.'
   print 'f) Calcular la longitud.'
   print 'g) Finalizar. '
   opcion = raw_input('Pulsa a, b, c, d, e, f o g, luego pulsa retorno de carro: ')
   if opcion == 'a':
       x1 = float(raw_input('Introduce el primer vector: '))


Estoy trabado en hacer esta suma.

¿Dónde saco los x1, y1 y z1?

Pensé que es al introducir los vectores que te pone al principio pero no.

Saludo.

Edito:

Quiero ver un ejemplo de cómo hacen la suma. No se si los vectrres introducidos hay que hacer algo con ellos o pongo desde cero otra vez crear variables con raw_input y poder hacer los cácluos.

Código (python) [Seleccionar]

# Importar arcoseno.
from math import acos

vector1 = float(raw_input('Introduce el primer vector: '))
vector2 = float(raw_input('Introduce el segundo vector: '))

opcion = ''
while opcion < 'a' or opcion > 'g':
   print 'Selecciona una opción: '
   print 'a) Calcular la suma.'
   print 'b) Calcular la diferencia.'
   print 'c) Calcular el producto escalar.'
   print 'd) Calcular el producto vectorial.'
   print 'e) Calcular el ángulo (en gastos) entre ellos.'
   print 'f) Calcular la longitud.'
   print 'g) Finalizar. '
   opcion = raw_input('Pulsa a, b, c, d, e, f o g, luego pulsa retorno de carro: ')
   if opcion == 'a':

       print 'Suma.'
   elif opcion == 'b':

       print 'algo'
   elif opcion == 'c':

       print 'algo'
   elif opcion == 'd':

       print 'algo'
   elif opcion == 'e':

       print 'algo'
   elif opcion == 'f':

       print 'algo'
   elif opcion == 'g':
       print 'Sólo hay sietes opciones: a, b, c, d, e, f o g. Usted has tecleado', opcion
print 'Gracias por usar el programa.'

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

Meta

#1
Hola de nuevo:

Por ahora he hecho cosas pero tengo errores por todas partes.

Código (python) [Seleccionar]

# Importar arcoseno, pi y raíz.
from math import arcos, pi, sqrt

vector1 = float(raw_input('Introduce el primer vector: '))
vector2 = float(raw_input('Introduce el segundo vector: '))

opcion = ''
while opcion < 'a' or opcion > 'g':
   print 'Selecciona una opción: '
   print 'a) Calcular la suma.'
   print 'b) Calcular la diferencia.'
   print 'c) Calcular el producto escalar.'
   print 'd) Calcular el producto vectorial.'
   print 'e) Calcular el ángulo (en gastos) entre ellos.'
   print 'f) Calcular la longitud.'
   print 'g) Finalizar. '
   opcion = raw_input('Pulsa a, b, c, d, e, f o g, luego pulsa retorno de carro: ')

   x1 = 3
   x2 = 4
   y1 = 5
   y2 = 6
   z1 = 7
   z2 = 8
   
# Suma.
   if opcion == 'a':

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

# Diferencia.
   elif opcion == 'b':

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

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

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

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

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

# Longitud.
   elif opcion == 'f':

       x = 56
       y = 92
       z = 50

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




Alguna ayuda de estos errores.

Saludo.


EDITO:

Otra cosa, los dos vectores que te pide el principio por ahora lo veo inútil.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Novlucker

Los vectores del principio los ves inútil porque estas metiendo las variables a mano :xD ... x1, x2, x3, y1, y2 e y3 son los elementos de los dos vectores, empieza por eso, no por las operaciones.

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Meta

Me lo imaginaba. Son dos vectores a introducir y hay 6 variables diferentes en total. Parece que hay que seleccionar dos y dejar fijo 4.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Novlucker

Citar[...]Parece que hay que seleccionar dos y dejar fijo 4.[...]
Eso no lo he entendido, a que te refieres?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Meta

Mira las 6 variables aquí que he dejado fijas.

Código (python) [Seleccionar]
    x1 = 3
    x2 = 4
    y1 = 5
    y2 = 6
    z1 = 7
    z2 = 8


En realidad te piden dos vectores de entrada. Dos vectores lo modificas y las otros 4 serán fijas digo yo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Novlucker

Sabes lo que es un vector? (listas o tuplas)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Meta

Ya por decir tuplas. Se refiere algo de esto.

[3, 5, 6, 9, 1, 2] por poner un ejemplo de for in.

Antes debo corregir estos errores.





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

Novlucker

Bien, entonces va una segunda pregunta, donde estas utilizando tuplas o listas en tu ejercicio? ;)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Meta

No lo estoy usando y no debo usarlo. Hay que usar sólo el bucle While y no el for in como creía.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/