2. nädal Küsimusi eelmise nädala teemade ja ülesannete kohta? Väljundlause täiendavad võimalused: - ümardamine väljundi vormindamise abil: valjund_6.py valjund_7.py - täiendavad reavahetused - valjund_2.py Tehted stringidega: liitmine ja täisarvuga korrutamine. Funktsioon str() teisendab arvväärtuse stringiks. Aritmeetikatehted // ja % Ülesanne 1 Bussireis Buss väljub mingil kellajal ja saabub teisel kellaajal. Leia bussisõidu kestus. Võid eeldada, et kogu reis mahub ühe ööpäeva sisse. Vastus trüki tundides ja minutites. Elu lihtsustamiseks sisesta tunnid ja minutid eraldi muutujatesse ehk üks kellaaeg, kaks input()-i. Kas sisend tuleks teisendada float() või int() funktsiooni kasutades? Selles ülesandes on vaja vaid natuke arvutada. Kes on valikulausest (if) kuulnud, katsuge ilma hakkama saada. Ülesanne 2 Inimese kehaanalüüs Uurime inimest. Tundide tabelis on link valemitele, mille abil saab leida inimese ideaalkaalu, rasvaprotsendi, tiheduse, ruumala ja pindala. Milliseid andmeid arvutusteks vajad? Andmed sisestab kasutaja. Esialgu leia näitajad ühe soo kohta. Pindala valem nõuab logaritmi kasutamist. Selle jaoks on funktsioon, mida tuleb otsida moodulist math. Üks abistav link: https://docs.python.org/3/library/math.html Kontrollimiseks testandmed: kaal: 75 pikkus: 178 vanus: 22 ------------------- ideaalkaal mehele: 71.50 naisele: 64.35 rasvasuse % mehele: 19.67 naisele: 36.20 tihedus mehele: 1058.70 naisele: 1023.98 ruumala mehele: 0.071 naisele: 0.073 pindala mehele: 1.929 naisele: 1.929 ------------------- Täiendame programmi meeste ja naiste eristamisega. Lisaks vanusele, pikkusele ja kaalule küsime ka soo. Kuid eristamiseks on vaja kasutada uut programmeerimiskeele lauset - tingimus- ehk valikulauset. Vaatame lause üldist põhimõtet. Näited: kooli_minek.py, suurem_vaiksem_if.py Ülesanne 3 Rahatagastaja ------------------------ Ostad kaupa N euro eest. Vastavalt Sinu poolt makstud rahale tuleb Sulle raha tagasi anda. Milliseid rahatähti ja kui palju tuleks tagastada? Eeldame, et arveldatakse ainult eurodes (st sentideta). Programm küsib, kui palju maksab kaup ja kui palju ostja raha annab. Vastuseks trükib programm ekraanile, millises vääringus ja mitu rahatähte tagasi anda tuleb. Väljatrükk oleks midagi sellist: -------------------------------- Sa maksid 500 eurot, kaup maksis 133 eurot. Saad tagasi 367 eurot: 0 viiesajalist 1 kahesajalist 1 sajalist 1 viiekümnelist 0 kahekümnelist 1 kümnelist 1 viielist 1 kahelist 0 ühelist Programm võib, kuid ei pea kontrollima, kas raha anti piisavalt ja võib väljastada ka (nagu näites näha) koguse 0 tükki. Kuid kasutades tingimuslauset, saab nimetatud probleeme vältida. Mõisted ------- loogikaavaldis, tingimuslause