apua tehtävään

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
5228
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

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?

Äänestä

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.

Äänestä

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ä..

Äänestä
  • 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

    Äänestä

  • 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

    Äänestä

Kommentoi aloitusta


neito7 kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu