Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/11/2011, 07:13
jgalveg
 
Fecha de Ingreso: octubre-2011
Ubicación: Canarias
Mensajes: 13
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Otro ejercicio sencillo con el while.

Mi solución:
Código Python:
Ver original
  1. from math import sqrt,pi,cos
  2. print 'Vamos a realizar las siguientes operaciones con los datos introducidos.'
  3. print 'Teclea el nº que figura en el menú para realizar las operaciones.'
  4. print ''
  5. print '1. Introducir el primer vector.'
  6. print '2. Introducir el segundo vector.'
  7. print '3. Calcular la suma.'
  8. print '4. Calcular la diferencia.'
  9. print '5. Calcular el producto escalar.'
  10. print '6. Calcular el producto vectorial.'
  11. print '7. Calcular el ángulo ( en grados ) entre ellos.'
  12. print '8. Calcular la longitud.'
  13. print '9. Finalizar.'
  14. print ''
  15.  
  16. opcion=''
  17. while opcion !='9':
  18.   opcion=raw_input('Introduzca su elección:')
  19.  
  20.   # Sentencias de las operaciones.
  21.   if opcion=='1':
  22.     print'Introducimos el primer vector:'
  23.     x1=raw_input('Introducimos el valor de x:')
  24.     y1=raw_input('Introducimos el valor de y:')
  25.     z1=raw_input('Introducimos el valor de z:')
  26.   elif opcion == '2':
  27.     x2=raw_input('Introducimos el valor de x:')
  28.     y2=raw_input('Introducimos el valor de y:')
  29.     z2=raw_input('Introducimos el valor de z:')
  30.   elif opcion =='3':
  31.     print 'Calculamos la suma'
  32.     print 'La suma vectorial es igual a : (',x1+x2,',',y1+y2,',',z1+z2,')'
  33.   elif opcion =='4':
  34.     print 'Calculamos la diferencia'
  35.     print 'La diferencia vectorial es igual a : (',x1-x2,',',y1-y2,',',z1-z2,')'
  36.   elif opcion =='5':
  37.     print 'Calculamos el producto escalar'
  38.     print 'El producto escalar es igual a : (',x1*2+y1*y2+z1*z2,')'
  39.   elif opcion =='6':
  40.     print 'Calculamos el producto vectorial'
  41.     print 'El producto vectorial es igual a : (',y1*z2-z1*y2,',',z1*x2-x1*z2,',',x1*y2-y1*x2,')'
  42.   elif opcion =='7':
  43.     print 'Calculamos el ángulo entre ellos'
  44.     #Desglosamos la formula
  45.     numerador=(x1*x2)+(y1*y2)+(z1*z2)
  46.     denominador=sqrt(x1**2+y1**2+z1**2)*sqrt(x2**2+y2**2+z2**2)
  47.     angulo=180/pi*1/cos(numerador/denominador)
  48.     print 'El ángulo que forman entre ellos es igual a %2.2f:'%angulo
  49.   elif opcion =='8':
  50.     print 'Calculamos la longitud'
  51.     print 'La longitud del primer vector es igual %2.2f'%sqrt(x1**2+y1**2+z1**3)
  52.     print 'y la del segundo es %2.2f'%sqrt(x2**2+y2**2+z2**3)
  53.   elif opcion =='9':
  54.     print 'Programa finalizado. Muchas gracias'
  55.   else:
  56.     print 'Opción no válida. Debe estar comprendida entre el 1 y el 9'

Tiene algún que otro fallo.

Última edición por razpeitia; 02/11/2011 a las 10:07 Razón: resaltado de sintaxis