Ver Mensaje Individual
  #16 (permalink)  
Antiguo 15/10/2010, 22:48
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Menú con while.

Pues no, no he llegado con el break, ahor afunciona el break. jeje.

Lo único que no me funciona es esto.

Código Python:
Ver original
  1. from math import acos, pi, sqrt
  2.  
  3.  
  4.  # Ángulo.
  5.     elif opcion == 'g':
  6.             angulo  = (180 / pi) * acos * (x1 * x2 + y1 * y2 + z1 * z2) / (sqrt(x1**2 + y1**2 + z1**2) * sqrt(x2**2 + y2**2 + z2**2))
  7.             print angulo

Por supuesto que aunque corrija el acos me faltan pulir cosas, por ejemplo. No puedo ejecutar d la c) a la h) si no he introducido los valores que piden a) y b). Cuando solucione el famoso acos que me tiene negro y no te he entendido seguiré.




Por ahora el código es así:
Código Python:
Ver original
  1. from math import acos, pi, sqrt
  2.  
  3. opcion = ''
  4. while opcion >= 'a' or opcion <= 'i':
  5. #while opcion in 'abcdefghi':
  6.     print '''Selecciona una opción:
  7.            a) Introducir el primer vector.
  8.            b) Introducir el segundo vector.
  9.            c) Calcular la suma.
  10.            d) Calcular la diferencia.
  11.            e) Calcular el producto escalar.
  12.            f) Calcular el producto vectorial.
  13.            g) Calcular el ángulo (en gastos) entre ellos.
  14.            h) Calcular la longitud.
  15.            i) Finalizar. '''
  16.            
  17.     opcion = raw_input('Pulsa a, b, c, d, e, f, g, h o i, luego pulsa retorno de carro: ')
  18.    
  19.     # Primer vector.
  20.     if  opcion == 'a':
  21.         x1 = float(raw_input('Introduce valor x1: '))
  22.         y1 = float(raw_input('Introduce valor y1: '))
  23.         z1 = float(raw_input('Introduce valor z1: '))
  24.  
  25.     # Segundo vector.
  26.     elif opcion == 'b':
  27.         x2 = float(raw_input('Introduce valor x2: '))
  28.         y2 = float(raw_input('Introduce valor y2: '))
  29.         z2 = float(raw_input('Introduce valor z2: '))
  30.     # Suma.
  31.     elif opcion == 'c':
  32.  
  33.             suma = (x1 + x2, y1 + y2, z1 + z2)
  34.             print suma
  35.  
  36.     # Diferencia.
  37.     elif opcion == 'd':
  38.  
  39.             diferencia = (x1 - x2, y1 - y2, z1 - z2)
  40.             print diferencia
  41.  
  42.     # Producto escalar.
  43.     elif opcion == 'e':
  44.  
  45.             producto = (x1 * x2 + y1 * y2 + z1 * z2)
  46.             print producto
  47.  
  48.      # Producto vectorial.
  49.     elif opcion == 'f':
  50.  
  51.             vectorial = (y1 * z2 - z1 * y2, z1 * x2 - x1 * z2, x1 * y2 - y1 * x2)
  52.             print vectorial
  53.  
  54.     # Ángulo.
  55.     elif opcion == 'g':
  56.             angulo  = (180 / pi) * acos * (x1 * x2 + y1 * y2 + z1 * z2) / (sqrt(x1**2 + y1**2 + z1**2) * sqrt(x2**2 + y2**2 + z2**2))
  57.             print angulo
  58.     # Longitud.
  59.     elif opcion == 'h':
  60.  
  61.             x = float(raw_input('Introduce valor x: '))
  62.             y = float(raw_input('Introduce valor y: '))
  63.             z = float(raw_input('Introduce valor z: '))
  64.  
  65.             longitud = sqrt(x**2+y**2+z**2)
  66.             print longitud
  67.  
  68.     elif opcion == 'i':
  69.             print 'Sólo hay sietes opciones: a, b, c, d, e, f o g. Usted has tecleado', opcion
  70.             break
  71. print 'Gracias por usar el programa.'
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar