'''2) Criar um código que descreva o movimento de um paraquedista que salta de uma altura que deve ser informada pelo  
	usuário, mas que deva estar entre 1000m e 4000m. O paraquedas deve abrir na altura 700m, modificando a resistência do ar.  
	Ao final, o programa deve apresentar o gráfico de posição como função do tempo, indicando a posição de abertura do  
	paraquedas (ATENÇÃO: a qualidade de apresentação dos resultados é importante!). O programa também deve informar o tempo  
	total desde o pulo até o pouso.'''
 
	import numpy as np 
	import matplotlib.pyplot as plt
 
	ddt=0 
	g=9.81 
	dt=0.1 
	n1=1 
	n2=10 
	v=0 
	m=50 
	t=[0]
 
	def veloci(v, gfic, dt): 
	    if j==0: 
	        v=v-gfic*dt 
	     
	    return v
 
	 
	altura=float(input('forneça uma altura entre 1000m e 4000m: '))
 
	while altura<1000 or altura>4000: 
	    altura=float(input('forneça uma altura entre 1000m e 4000m: ')) 
	     
	pos=[altura]
 
	 
	while altura>2: 
	     
	     
	    if 700<altura<=4000: 
	         
	        peso=m*g 
	        far=n1*v*v 
	        fr=peso-far 
	         
	         
	        if fr>2: 
	             
	            gfic=fr/m 
	             
	            s=altura-v*dt-gfic*dt*dt*0.5 
	            v=v+gfic*dt 
	            ddt=ddt+dt 
	             
	            altura=s 
	            pos.append(altura) 
	            t.append(ddt) 
	             
	        else: 
	             
	            s=altura-v*dt 
	            altura=s 
	            ddt=ddt+dt 
	            pos.append(altura) 
	            t.append(ddt) 
	             
	    else: 
	         
	        j=j+1 
	         
	        v=veloci(v, gfic, dt) 
	        s=altura-v*dt 
	        altura=s 
	        ddt=ddt+dt 
	        pos.append(altura) 
	        t.append(ddt) 
	         
	         
	         
	tempototal = sum(t) 
	print('tempo de queda igual a {} segundo'.format(tempototal))
 
	 
	plt.figure(figsize=(15,10)) 
	plt.plot(t, pos, color="blue") 
	plt.xlabel('tempo [s]', fontsize=16) 
	plt.ylabel('posição [m]', fontsize=16) 
	plt.title('posição vs tempo', fontsize=18) 
	plt.grid(True) 
	plt.show()
 
	 
 
	 
 
	 
 
	 
 
	 
 
	esse é meu programa para solucionar essa questão, gostaria de saber se alguém vê alguma simplificação ou erro da minha parte.