Autor
|
Tema: [Python] - Menú con While. (Leído 21,565 veces)
|
Meta
|
Buenas: Por fin llegamos a la parte final de While con un pezado de menú. Por ahora estoy en el inicio. # 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. # 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.'
|
|
« Última modificación: 15 Octubre 2010, 08:01 am por Meta »
|
En línea
|
|
|
|
Meta
|
Hola de nuevo: Por ahora he hecho cosas pero tengo errores por todas partes. # 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.
|
|
« Última modificación: 15 Octubre 2010, 08:09 am por Meta »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Los vectores del principio los ves inútil porque estas metiendo las variables a mano ... x1, x2, x3, y1, y2 e y3 son los elementos de los dos vectores, empieza por eso, no por las operaciones. Saludos
|
|
|
En línea
|
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.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
[...]Parece que hay que seleccionar dos y dejar fijo 4.[...] Eso no lo he entendido, a que te refieres? Saludos
|
|
|
En línea
|
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. 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.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Sabes lo que es un vector? (listas o tuplas)
Saludos
|
|
|
En línea
|
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.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Bien, entonces va una segunda pregunta, donde estas utilizando tuplas o listas en tu ejercicio? Saludos
|
|
|
En línea
|
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.
|
|
|
En línea
|
|
|
|
|
|