Anuncio

Colapsar
No hay ningún anuncio todavía.

Problema con condicionales

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Python Problema con condicionales

    Hola!

    En la asignatura de programación utilizamos lenguaje Python y hace poco vi por aquí un problema sencillo de tiro parabólico (dos casas están separadas a 10m, con un muro de 2m de altura a 5m de la primera: si se tira una botella por la ventana, que está a 1m de altura como la del vecino, entrará por la de éste?), así que lo intenté convertir en programa. El código es este:

    Código:
    from math import *
    import matplotlib
    import numpy as np
    import matplotlib.pylab as plt
    #gravity
    g = 9.8
    #initial height
    h0 = 1
    wallHeight = 2
    distance = 10
    Vy0 = sqrt(2*g*wallHeight)
    
    
    #now we calculate the time...
    time = 2*Vy0/g
    #the other solution is time = 0
    
    
    #now we calculate the initial X velocity
    
    
    Vx0 = distance/time
    alpha = atan(Vx0/Vy0)
    V0 = Vx0/cos(alpha)
    
    
    #Results...
    print "la velocidad inicial en el eje y es ",Vy0, "m/s"
    print "la velocidad inicical en el eje x es ", Vx0, "m/s"
    print "el angulo es ", alpha, "rads"
    print "la velocidad incial en módulo és ", V0, "m/s"
    t = np.linspace(0, time, 100)
    y = h0+Vy0*t-0.5*g*(t**2)
    plt.plot(t,y)
    plt.show()
    Una vez calculado todo, he decidido intentar poner unos "input" en los que se pueda introducir una velocidad inicial y ángulo diferentes a los que salen ahí y que el programa me diga si entra por dicha ventana o no, ya que éste problema tiene muchísimas soluciones. Aquí viene la cuestión: no sé como poner los condicionales "if" ni como mover las variables para que esto ocurra... Alguna idea?

    Muchísimas gracias de antemano.
    "Una persona inteligente e irreflexiva es una de las cosas más aterradoras que existen."

  • #2
    Re: Problema con condicionales

    No entiendo a qué te refieres, pero por ejemplo, para meter un input te valdría con:

    Código:
    v0=int(raw_input('Introduce una velocidad inicial: '))
    Para meter un if tendrías que plantear la condición y si se cumple meter dentro del condicional lo que quieres que se realice (o hacerlo a la inversa, decir la condición que no se debe cumplir y si se cumple esa condición parar el programa o que salte un mensaje de advertencia).

    Por ejemplo, supongamos que la velocidad inicial no debe ser mayor que 20:

    Código:
    if v0>0:
    if v0<20:
    (operaciones que queremos realizar)
    else:
    print 'La velocidad debe ser menor que 20'
    No he probado el código y no me acuerdo muy bien, pero recuerdo que era algo así. Date cuenta que el "else" afecta al "if v0<20".

    Saludos!
    'Como físico, no temo a la muerte, temo al tiempo.'
    'Bene curris, sed extra vium.'
    'Per aspera ad astra.'

    Comentario

    Contenido relacionado

    Colapsar

    Trabajando...
    X