elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(  (Leído 839 veces)
David Bowie

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« en: 12 Octubre 2020, 23:42 »



#Importamos todas las librerías necesarias
from matplotlib.pylab import *
import matplotlib.pyplot as plt
import numpy as np
from math import *
from sympy import *
from sympy.plotting import *
from time import *
from scipy import *
asctime()
clock()
#introducimos los datos
while True:
    try:
        β=float(input("introduzca el ángulo en grados β = "))
        except ValueError:
        print ()
        print("Cantidad Incorrecta")
        print ()
        continue
    break
while True:
    try:
        vi=float(input("introduzca la velocidad inicial en (m/s) vi = "))

    except ValueError:
        print ()
        print("Cantidad Incorrecta")
        print ()
        continue
    break
print ()
θ=((β*pi)/180)
print ("θ=",θ)
g=9.81 # m/s**2
print ()
a=tan(θ)
b=((g)/((2*vi**2)*cos(θ)**2))
print ()
ymax=(vi**2)*(np.sin(θ)*sin(θ))/(2*g)
xmax=(vi**2)*(np.sin(2*θ))/(g)
print ("................................................................................")
print ("................................................................................")
tmax=(vi*sin(θ))/(g)
tv=2*(tmax)
# Salidas de los datos calculados
print (str("La altura máxima  alcanzada por el proyectil es: Ymax")+" = "+str(ymax)+" m")
print (str("El alcance máximo horizontal  del proyectil es: Xmax")+" = "+str(xmax)+" m")
print ("................................................................................")
print ("................................................................................")
print ("La altura máxima (m) alcanzada por el proyectil es: Ymax =",format(ymax,".2f"))
print ("El alcance máximo horizontal(m) del proyectil es: Xmax =",format(xmax," .2f"))
print ("................................................................................")
print ("................................................................................")
print ("El tiempo máximo t1max (s) que alcanza el proyectil para el ángulo β es: t1max =",format(tmax,".2f"))
print ("El tiempo de vuelo t1v(s) que alcanza el proyectil para el angulo β es: t1v =",format(tv,".2f"))
print ("................................................................................")
print ("................................................................................")

# Definimos la ecuación de la trayectoria
def f(x):
    return(a*x-b*x**2)
x=np.linspace(0,xmax,500)
#creamos la figura
plt.figure("FISICA APLICADA",figsize=(10,8),dpi=80,facecolor="y",edgecolor="c")   
plt.axes(axisbg="orange")
# añadimos el titulo
title("LANZAMIENTO DE PROYECTILES",
fontsize=15,color="blue",verticalalignment="baseline",horizontalalignment = "center") 
# añadimos el subtitulo
plt.suptitle("CINEMATICA",fontsize=20,color="red")

#añadimos las etiquetas de los ejes
xlabel("xmax",fontsize=20,color="red")                                     
ylabel("ymax",fontsize=20,color="blue")
#añadimos texto
plt.text(((np.argmax(f(x)))/2),np.max(f(x))+1,"vi=",fontsize=10)
plt.text(((np.argmax(f(x)))/2)+11,np.max(f(x))+1,(str(vi)+"m/s"),fontsize=10)
#mostrar la fecha y la hora actual formateadas :",asctime()
#mostrar el tiempo real de ejecucion de este proceso :",clock()
plt.text(2,np.max(f(x))+1,("fecha/hora:"+str(asctime())),fontsize=10,color="green")
plt.text(2,np.max(f(x))-1,("tiempo(s):"+str(clock())),fontsize=10,color="blue")

# Añadimos la rejilla en la gráfica
plt.grid(True)                                                             
plt.grid(color = '0.5', linestyle = '--', linewidth = 1)
# Añadimos los ejes
# plt.axis("tight")                                     
                 
# dibujamos y ponemos etiquetas a la gráfica
plt.text(3,1,β,fontsize=10)
plt.plot(x, f(x), "red", linewidth = 2, label = (str(β)+"º"))   
# añadimos la leyenda
plt.legend(loc = 4,fontsize=10)                                                         
#anotaciones en el gráfico
plt.annotate('Altura Máxima',
xy = (xmax/2, ymax),
xycoords = 'data',
xytext = (-70, -50),
textcoords = 'offset points',
arrowprops = dict(arrowstyle = "->",
connectionstyle = "arc, angleA = 0,armA = 30,rad = 50"),
# dibujar tabla dentro del gráfico
valores = [[format(np.max(xmax),".2f"),format(np.min(ymax),".2f")]]
etiquetas_col = ["xmax (m)", "ymax (m)"]
plt.table(cellText=valores, colLabels = etiquetas_col, colWidths = [0.15]*len(f(x)),loc='upper right')
# guarda la gráfica con 300dpi (puntos por pulgada)en python34-ejemplos curso python
#plt.savefig("figura_Lanzamiento Proyectiles_1.pdf", dpi = 300)           
# mostramos en pantalla la gráfica
plt.show()


En línea

.:Xx4NG3LxX:.

Desconectado Desconectado

Mensajes: 195


¿Aún no estás registrad@? ¿Qué esperas?


Ver Perfil WWW
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #1 en: 12 Octubre 2020, 23:51 »

Te recomiendo poner todo el código entre las balizas:
Código:
[code]TODO TU CÓDIGO AQUÍ
[/code]


En línea

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"


tincopasan


Desconectado Desconectado

Mensajes: 1.217

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #2 en: 13 Octubre 2020, 02:04 »

hola:
        hay tantas cosas mal que hay que hacer casi todo de nuevo, demasiado código para alguien que está aprendiendo, pero bueno, se puede empezar de a poco y una cosa por vez. No te voy a hacer el código pero si puedo intentar ayudarte paso a paso.
1)
Código
  1. #Importamos todas las librerías necesarias
  2. from matplotlib.pylab import *
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. from math import *
  6. from sympy import *
  7. from sympy.plotting import *
  8. from time import *
  9. from scipy import *
  10. asctime()
  11. clock()
  12.  
  13.  

hay librerias que no veo que usas, las agregaremos cuando sean necesarias, para empezar ninguna, lo mismo que las últimas dos funciones declaradas ¿de dónde salen?

2) desde el inicio ya está mal
Citar
#introducimos los datos
while True:
    try:
        β=float(input("introduzca el ángulo en grados β = ")) -#que ganas de complicar el nom,bre de las variables
        except ValueError: #desde acá está mal la indentación
        print ()
        print("Cantidad Incorrecta")
        print ()
        continue
    break
while True:
    try:
        vi=float(input("introduzca la velocidad inicial en (m/s) vi = "))

    except ValueError:
        print ()
        print("Cantidad Incorrecta")
        print ()
        continue
    break
print ()

hasta acá la lógica está incorrecta, te muestro como haría uno y vos modificas el otro.

Código
  1. while True:
  2.    try:
  3.        angulo=float(input("introduzca el ángulo en grados β = ")) #usemos variables significativas
  4.        break
  5.    except ValueError:
  6.        print("\nCantidad Incorrecta\n")
  7. print(angulo)#no es necesario, lo uso para que vayamos viendo el resultado
  8.  
 

modifica el otro while

3)
Citar
θ=((β*pi)/180)
tambíen hay que cambiar el nombre de la variable, no es obligatorio, pero si recomendable y ahora necesitamos obtener "pi"

tu codigo:

Código
  1. from math import *

si bien no está mal, estas cargando en memoria datos innecesarios, sería mejor:

Código
  1. from math import pi

si al fin y al cabo es lo único que usaremos por ahora.

Código
  1. grados=((angulo*pi)/180)

en fin, pocas líneas muchas cosas incorrectas, si las modificas y las posteas vemos de seguir, sino espera que alguien te corrija todo el código.

Saludos
« Última modificación: 13 Octubre 2020, 02:11 por tincopasan » En línea

David Bowie

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #3 en: 13 Octubre 2020, 04:46 »

.:Xx4NG3LxX:.

tincopasan

Muchas gracias a ambos por sus consejos, y si realmente me estaba basando de algunos videos y foros por eso el exceso de info. Pero me gusta de verdad aprender de los mejores así que si efectivamente lo seguiré intentando  ::)
En línea

David Bowie

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #4 en: 17 Octubre 2020, 20:43 »

Código
  1. [color=yellow][/color]

Estimado tincopasan, no se si aún siga por aquí tarde un poco pero ya le hice correcciones, lo que no entiendo es por que al sacar el coseno en "vxO"  :-\


from math import pi
from math import tan
from math import cos
from math import sin
import numpy as np
import matplotlib.pyplot as plt

while True:
    try:
        vi = float(input("Introduzca la velocidad inicial en (m/s) : "))
        break
    except ValueError:
        print("Cantidad Incorrecta")
print("m/s =",vi)

while True:
    try:
        angulo = float(input("Introduzca el ángulo en grados: "))
        break
    except ValueError:
        print("\nCantidad Incorrecta\n")
print(angulo,"°")#no es necesario, lo uso para que vayamos viendo el resultado

while True:
    try:
        g = float(input("Introduzca el valor de gravedad en m/s^2: "))
        break
    except ValueError:
        print("\nCantidad Incorrecta\n")
print("\ng =",g)

grados = ((angulo*pi)/180)
print ("\ngrados =",grados)

while True:
    try:
        xo = float(input("Posición horizontal inicial [x0]: "))
        break
    except ValueError:
        print("\nCantidad Incorrecta\n")

while True:
    try:
        yo = float(input("Posición vertical inicial [y0]: "))
        break
    except ValueError:
        print("\nCantidad Incorrecta\n")


print()
a = tan(grados)
b = ((g)/((2*vi**2)*cos(grados)**2))
print()
ymax=(vi**2)*(np.sin(grados)*sin(grados))/(2*g)
xmax=(vi**2)*(np.sin(2*grados))/(g)
vho = (cos(angulo))
print("Un cuerpo lanzado con una velocidad inicial de Vo=",vi,"m/s y un ángulo de α=",angulo,"°,")
print("iniciará su trayectoria con una velocidad horizontal de vxO: ",vho)
print("----------------------------------------------------------------------")
print("----------------------------------------------------------------------")
tmax=(vi*sin(grados))/(g)
tv=2*(tmax)
print()
print(str("La altura máxima  alcanzada por el proyectil es: Ymax")+" = "+str(ymax)+" m")
print(str("El alcance máximo horizontal  del proyectil es: Xmax")+" = "+str(xmax)+" m")
print("----------------------------------------------------------------------")
print("----------------------------------------------------------------------")
print("La altura máxima (m) alcanzada por el proyectil es: Ymax =",format(ymax,".2f"))
print("El alcance máximo horizontal(m) del proyectil es: Xmax =",format(xmax," .2f"))
print("----------------------------------------------------------------------")
print("----------------------------------------------------------------------")
print("El tiempo máximo t1max (s) que alcanza el proyectil para el ángulo β es: t1max =",format(tmax,".2f"))
print("El tiempo de vuelo t1v(s) que alcanza el proyectil para el angulo β es: t1v =",format(tv,".2f"))
print("----------------------------------------------------------------------")
print("----------------------------------------------------------------------")


Me podrian orientar que falta por que en el coseno de 60° me da -0.9524129804151563 :(

En línea

Tachikomaia

Desconectado Desconectado

Mensajes: 263



Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #5 en: 17 Octubre 2020, 21:04 »

Yo lo que sé es que en QBASIC, Clipper y Macromedia Flash 5, no se requiere importar cosas. Los 2 1eros no me acuerdo bien, quizá me equivoque. Y MF5 tal vez para los sonidos o algo que no recuerdo.

Yo en tu lugar cambiaría de lenguaje.
En línea

David Bowie

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #6 en: 17 Octubre 2020, 21:17 »

Tachikomaia

Rayos jaja es que ya me había animado en esto, pero si no hay otra manera si tendré que cambiarlo :((
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.217

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #7 en: 17 Octubre 2020, 21:20 »

hola:
el problema que tienes es que la función coseno es en base a radianes no  a grados por lo tanto podrías agregar:
Código
  1. from math import radians
  2.  
  3. vho = (cos(radians(angulo)))
  4.  
  5.  

Edito:

otra cosa:
Código
  1. from math import pi
  2. from math import tan
  3. from math import cos
  4. from math import sin
  5.  

es más simple:

Código
  1.  
  2. from math import pi, tan, cos, sin
  3.  

PD: si vas a dejar por cada cosa que no puedas hacer, no intentes programar , sin importar el lenguaje.
« Última modificación: 17 Octubre 2020, 22:23 por tincopasan » En línea

Tachikomaia

Desconectado Desconectado

Mensajes: 263



Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #8 en: 17 Octubre 2020, 22:55 »

Muy profundo, pero no olvidemos Brainfuck y similares y que el OP está haciendo algo que parece mucho más complicado de lo que parece saber hacer. Debería intentar cosas de dificultad menor.
En línea

David Bowie

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Ayudaaa Mi código no ejecuta, estoy aprendiendo :(
« Respuesta #9 en: 18 Octubre 2020, 02:18 »

Bien muchas gracias en verdad a ambos por sus conocimientos

Y tincopasan, una disculpa, jamás fue mi intención molestar u ofender

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
aprendiendo XSS alguien me ayudaaa Help ...
Nivel Web
alexkof158 7 2,169 Último mensaje 23 Noviembre 2009, 17:59
por WHK
Estoy Aprendiendo « 1 2 3 »
Programación C/C++
<<<-Basura->>> 24 6,513 Último mensaje 19 Marzo 2011, 16:05
por chocola
Estoy aprendiendo a programar web[Ayuda]
Desarrollo Web
jorpumon 2 1,258 Último mensaje 7 Agosto 2013, 23:12
por moi_realine
Estoy aprendiendo
Bases de Datos
Walle214 2 488 Último mensaje 18 Septiembre 2018, 03:56
por Machacador
Estoy aprendiendo en Desarrollo Web
Desarrollo Web
Walle214 0 243 Último mensaje 23 Septiembre 2018, 19:17
por Walle214
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines