Python-ban hogy lehet megoldani a következőt?
...
g=input(" Mennyi a gravitációs erő? (a pontos adat: 9.81 de általában 10-el számolunk!) ")
v0=input(" Hany m/s-al dobták le a testet? (mennyi a kiindulási sebessége? ")
h==input(" Hány méter magasról dobták le a testet? ")
print("A test",str(IDE MIT KELL ÍRNI???),"másodperc alatt ért földet.")
...
arra már rájöttem hogy ez a képlet kell (bevallom nem teljesen magamtól :P ):
t=(-v0±√(v0^2+2*g*h))/g
from math import sqrt
def landingTimeFormula(v0, g, h): return -v0*sqrt(v0**2+2*g*h)/g, v0*sqrt(v0**2+2*g*h)/g
def getLandingTime(v0, g, h): return max(landingTimeFormula(v0, g, g))
sqrt( a szám amiből gyököt vonsz)
sqrt(v0^2+2*g*h) - gondolom ebből akarsz gyököt vonni
és a győkvonás eredményét adja vissza
De amúgy egyben is le lehet írni. Csak úgy csúnya. Sőt, igazából az én megoldásom is csúnya, csak röviden akartam leírni.
Ha az IDE MIT KELL ÍRNI??? helyére a következőt írod:
max((-v0*sqrt(v0**2+2*g*h)/g, v0*sqrt(v0**2+2*g*h)/g))
Így is működni fog csak átláthatatlan.
valami csak nem jó! :(
def landingTimeFormula(v0, g, h): return -v0*sqrt(v0**2+2*g*h)/g, v0*sqrt(v0**2+2*g*h)/g
def getLandingTime(v0, g, h): return max(landingTimeFormula(v0, g, g))
g=input(" Mennyi a gravitációs erő? (a pontos adat: 9.81 de általában 10-el számolunk!) ")
v0=input(" Hany m/s-al dobták le a testet? (mennyi a kiindulási sebessége? ")
h=input(" Hány méter magasról dobták le a testet? ")
print("A test",str(max((-v0*sqrt(v0**2+2*g*h)/g, v0*sqrt(v0**2+2*g*h)/g))),"másodperc alatt ért földet.")
hol a hiba?
print("A test",str(float(v0)*sqrt(float(v0)**2+2*float(g)*float(h))/float(g)),"másodperc alatt ért földet.")
ez így jó?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!