elikkäs tehtävänä olisi tuottaa python ohjelma joka laskee cooper tuloksen. pitää antaa 1.kierrosaika sekä hidastuvuus seuraaville kieroksille.mitenkäs tämä tehdään
apua tehtävään
5
186
Vastaukset
- opiskelia
Olen juuri tekemässä tällaista mutta se on mahdottomuus yhdellä kieroksella joten se on 2 kierrosta, ajattelin laittaa sen nettiin myyntiin mutta sinähän voisit kokeilla sitä puolestani. (se on puhelin sovellus vain Windows puhelimille) sopiiko?
- pythonjuniori
Pitäisi tietää se, mitä tarkoitat hidastuvuudella. Tuleeko kierrosajoista vaikkapa aritmeettinen tai geometrinen jono? Kun tämä on selvillä, niin while-luuppi auttanee. Tai jos kierrosmäärän pystyy päättelemään hidastuvuudesta, niin for-luuppi on käypä vaihtoehto.
- kekkeruusiss
Tuon voi tehdä monella tavalla. Tässä yksi ratkaisu joka käyttää rekursiota. Rekursion voi korvata silmukoinnilla ja jätetään se kotitehtäväksi :)
def cooperi(kierrosaika, hidastuvuus, jaljella=12*60, radan_pituus=400): """Laskee cooperin tuloksen ensimmäiseen kierrokseen käytetyn ajan ja hidastuvuuden perusteella kierrosaika: ensimmäiseen kierrokseen käytetty aika sekunteina hidastuvuus: kerroin kuinka paljon enemmän aina seuraavaan kierokseen kuluu aikaa Palauttaa cooper testin aikana kuljetun matkan metreinä """ if jaljella > kierrosaika: return radan_pituus cooperi(kierrosaika*hidastuvuus, hidastuvuus, jaljella-kierrosaika, radan_pituus) else: return float(jaljella)/kierrosaika * radan_pituus
ps. toivottavasti ei mennyt ihan sillisalaatiksi suomi24:ssä. Korvasin erikoismerkit html entiteeteillä.. tai ainakin tarkoitus oli!
pps. radan pituus on nyt turhaa temppuilua. Tehtävässä sitä ei mainittu joten se voisi olla kai mitä tahansa? standardi juoksuradan pituus on kuitenkin tuo 400 metriä..- kekkeruusiss
no tuiksihan se meni. Kyllä tuosta kai sen verran selvän saa että osaa korjata sisennykset itse.
>>> cooperi(90, 1.25)
1966.08
>>> cooperi(85, 1.15)
2343.689722747292
>>> cooperi(67, 1.34)
2090.7680047235444
>>> cooperi(60, 1.09)
3395.0304965304795 - kekkeruusiss
Lisätään nyt pikku selitystä miten saat tuon ongelman ratkottua silmukalla.
* Teet silmukan jota suoritat niin kauan kun on aikaa jäljellä (while).
* Joka kierroksella päivität kierroksen juoksemiseen kuluvaa aikaa, cooperissa jäljellä olevaa aikaa ja jo juostua matkaa.
* jos aikaa on jäljellä enemmän kuin koko kierrokseen menee, lisäät matkaan koko radan pituuden (400m)
* jos aikaa on jäljellä vähemmän kuin koko kierrokseen menee, lisäät matkaan sen osan radan pituudesta jonka jäljelläolevassa ajassa ehtii juosta
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 15110954
- 525230
Taas ryssittiin oikein kunnolla
r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html452443- 302143
Vanha Suola janottaa Iivarilla
Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia131711Valtimon Haapajärvellä paatti mäni nurin
Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,421554Tiedän kuka sinä noista olet
Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta301241Känniläiset veneessä?
Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v351176Daniel Nummelan linjapuhe 2025
Kansanlähetyksen toiminnanjohtajan Daniel Nummelan linjapuhe tänään. Rehellistä analyysiä mm. evlut kirkosta ja piispo92935TÄSTÄ TAITAA TULLA SUOMEN HISTORIAN SUURIN USKONNONVAPAUDEN OIKEUDENKÄYNTI.
Sinun täytyy hyväksyä se että jos sinä vetoat uskonnonvapauteen, silloin sinun tulee antaa myös muille vastaava vapaus o317892