Resultados 1 al 9 de 9

Tema: problemilla en python

  1. #1 problemilla en python 
    Iniciado
    Fecha de ingreso
    Sep 2008
    Mensajes
    2
    Descargas
    1
    Uploads
    0
    Hola estoy aprendiendo a programar y he elegido a python para empezar. Tengo un pequeño problemilla en un programa en el q introducidos dos vectores realiza varias operaciones. El problema es que al introducir la función while para que me repita que le seleccione la opción hasta que no este entre las que quiero no me funciona.

    Este es el programa:
    #vectores.py
    print "introduce el primer vector"
    x1=float(raw_input("Introduzca el valor de x:"))
    y1=float(raw_input("Introduzca el valor de y:"))
    z1=float(raw_input("Introduzca el valor de z:"))

    print " "

    print "introduzca el segundo vector"
    x2=float(raw_input("Introduzca el valor de x:"))
    y2=float(raw_input("Introduzca el valor de y:"))
    z2=float(raw_input("Introduzca el valor de z:"))

    print " "
    print " "

    print "Si quiere calcular su suma teclee a"
    print "Si quiere calcular su resta teclee b"
    print "Si quiere calcular el angulo q forman teclee c"
    print "Si quiere calcular su producto escalar teclee d"
    print "Si quiere calcular su producto vectorial teclee e"
    print "Si quiere calcular el modulo del primer vector teclee f"
    print "Si quiere calcular su el modulo del segundo vector teclee g"
    opcion = "t"
    while opcion != "a" or "b" or "c" or "d" or "e" or "f" or "g":
    opcion=raw_input("seleccione la opcion q desea:")

    if opcion == "a":
    x12= x1+x2
    y12= y1+y2
    z12= z1+z2
    print "el vector suma es",x12,"y"12,z12
    Gracias de antemano
    Última edición por chavaone; 17-12-2008 a las 18:09
    epsilonsubcero.blogspot.com
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    chavaone apenas conozco python, pero puede que el problema que tienes puede deberse a que no has tenido en cuenta los espacios, por lo menos en el code que muestras no aparecen, con lo que en la linea:
    opcion=raw_input("seleccione la opcion q desea:")
    deberías poner varios espacios antes de opcion.

    Bueno si ve este post Kaos el te dira mejor, que el controla mucho de Python
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Donde me dejan
    Mensajes
    433
    Descargas
    7
    Uploads
    0
    Prueva de introducirlo de esta manera
    while opcion != ("a" or "b" or "c" or "d" or "e" or "f" or "g")
    (tabulador)opcion=raw_input("seleccione la opcion q desea:")
    o
    while opcion != ("a" || "b" || "c" || "d" || "e" || "f" || "g"):
    (tabulador)opcion=raw_input("seleccione la opcion q desea:")
    Saludos
    El mejor maestro es uno mismo, aun que siempre va bien una ayudita
    Citar  
     

  4. #4  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Bueno, hay varios fallitos, tanto sintácticos como semánticos:

    Sintácticos:
    - Siempre hay que identar el código, es lo que hace que el intérprete pueda saber qué pertenece a qué. Tanto el while como el if estaban sin identar, rompiendo la lógica del programa.
    - El caracter de la concatenación es la coma (,), por lo que entre cada variable y cada cadena debe haber una obligatoriamente. Además de que faltaba alguna en la última línea, a la variable y12 le faltaba la 'y'

    Semánticos:
    - Si la lista de opciones es excluyente, entonces no tiene sentido decir:
    "si la opción elegida no es a ó no es b entonces vuelve a repetir la pregunta"
    Lo lógico es decir si no es a y tampoco b, entonces me ha dado una opción no válida y repito la pregunta
    Código:
    #vectores.py
    print "introduce el primer vector"
    x1=float(raw_input("Introduzca el valor de x:"))
    y1=float(raw_input("Introduzca el valor de y:"))
    z1=float(raw_input("Introduzca el valor de z:"))
    
    print " "
    
    print "introduzca el segundo vector"
    x2=float(raw_input("Introduzca el valor de x:"))
    y2=float(raw_input("Introduzca el valor de y:"))
    z2=float(raw_input("Introduzca el valor de z:"))
    
    print " "
    print " "
    
    print "Si quiere calcular su suma teclee a"
    print "Si quiere calcular su resta teclee b"
    print "Si quiere calcular el angulo q forman teclee c"
    print "Si quiere calcular su producto escalar teclee d"
    print "Si quiere calcular su producto vectorial teclee e"
    print "Si quiere calcular el modulo del primer vector teclee f"
    print "Si quiere calcular su el modulo del segundo vector teclee g"
    #opcion = "t"
    opcion = ''
    while opcion != "a" and "b" and "c" and "d" and "e" and "f" and "g":
      opcion=raw_input("seleccione la opcion q desea:")
    
    if opcion == "a":
      x12= x1+x2
      y12= y1+y2
      z12= z1+z2
      print "el vector suma es:\nx = ",x12,"\ny = ",y12,"\nz = ",z12,"\n"
    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  5. #5  
    Iniciado
    Fecha de ingreso
    Sep 2008
    Mensajes
    2
    Descargas
    1
    Uploads
    0
    Muchas gracias por la ayuda j8k6f4v9j y a todos los demás por supuesto xD
    epsilonsubcero.blogspot.com
    Citar  
     

  6. #6 Solicitar ayuda 
    Iniciado
    Fecha de ingreso
    Apr 2010
    Mensajes
    2
    Descargas
    0
    Uploads
    0
    mi problema es que tengo que realizar un programa que sume lo elementos de un vector hasta 50 posiciones. como soy nuevo no e podido realizarlo no da por favor si puedes colaborarme lo agradesco.
    Citar  
     

  7. #7  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Yamteo:

    Lo ideal seria que abrieses un nuevo tema para preguntar tus dudas, si no tienen relacion con el anterior.

    Dicho esto tratare de responderte:

    Para sumar un vector (o array) de N elementos lo mejor es que uses un bucle.
    Los bucles 'For' realizan las acciones que tu les indiques desde un numero hasta otro que tu les des.

    En Python esto es muy sencillo, ya que valdria con darle el nombre de tu Array, Lista o Cadena de elementos para que realice las acciones indicadas tantas veces como elementos haya en tu Array, Lista o Cadena.


    For i in [0,1,2,3,4,5] :
    print "Hola Mundo!"

    Esto imprimira en pantalla 6 veces el texto "Hola Mundo!"

    Ahora simplemente tendrias que hacer que se sumen las posiciones de tu Array(n) haciendo que cada vez sume la siguiente posicion (n+1)



    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  8. #8  
    Moderador HH
    Fecha de ingreso
    Sep 2003
    Mensajes
    1.384
    Descargas
    21
    Uploads
    5
    A lo dicho por RaidMan agrego, aunque no creo que sea lo mas indicado dado el nivel de la pregunta, que se puede usar la función sum() suministrándole el vector como argumento.

    Saludos
    - Me desagrada
    - ¿Por qué?
    - No estoy a su altura.
    ¿Ha respondido así alguna vez un hombre?

    Friedrich Nietzsche



    Citar  
     

  9. #9  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Muy bueno Marchi, y mucho mas sencillo, la verdad, que lo que yo proponia.

    Ahi queda eso Yamteo, escoge la opcion que quieras, o explora ambas (siempre sera mejor).


    Un saludo
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

Temas similares

  1. 75 libros de #Python
    Por LUK en el foro PROGRAMACION DESKTOP
    Respuestas: 0
    Último mensaje: 20-08-2014, 10:52
  2. wx python
    Por ieio en el foro PROGRAMACION DESKTOP
    Respuestas: 0
    Último mensaje: 17-09-2008, 00:02
  3. Problemas python
    Por ieio en el foro PROGRAMACION DESKTOP
    Respuestas: 4
    Último mensaje: 15-09-2008, 00:53
  4. Tutorial de Python
    Por gondar_f en el foro GENERAL
    Respuestas: 3
    Último mensaje: 30-03-2008, 19:16
  5. Python
    Por sonic en el foro GENERAL
    Respuestas: 1
    Último mensaje: 19-04-2005, 22:13

Etiquetas para este tema

Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •