{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Előadás anyag\n", "Nézzük meg a 4. heti előadás anyagát tartalmazó Jupyter notebook (04_ea.ipynb) tartalmát! Futtassuk az egyes cellákat, módosítsunk, kisérletezzünk szabadon!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Próbáljunk ki (hívjunk meg) néhány, a sorokhoz, ill. a listákhoz tartozó metódust (pl. count, pop, ... )!\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Feladatok\n", "Készítsünk programokat az alábbi feladatokra! Ne használjon olyan dolgokat, amelyekről még nem volt szó az előadáson (pl. sum, min, max függvények)!\n", "- Határozzuk meg az összegét, átlagát, legkisebb és legnagyobb elemét egy számokat tartalmazó adatsornak! Pl. 3, 5, 2, 6 => összeg: 16, átlag: 4.0, minimum: 2, maximum: 6.\n", "- Fizessünk ki egy euróban adott egész összeget a lehető legkevesebb címlet felhasználásával! Az euró címletei: 500, 200, 100, 50, 20, 10, 5, 2, 1 (amiket egy tuple segítségével kezeljünk)! Pl. 905 -> 1 db 500, 2 db 200, 1 db 5. \n", "- Fordítsuk meg egy sztring karaktereinek sorrendjét lista segítségével! Pl. 'abc' -> 'cba'. (Tipp: használja a list.reverse és a str.join metódusokat!)\n", "- Töröljünk ki egy adatsorból egy adott értéket, ahányszor csak előfordul! Pl. 1, 2, 1, 3-ból az 1-t -> 2, 3.\n", "- Határozzuk meg egy adott mátrix sorminimumait! Feltehető, hogy a mátrix (mint listák listája) helyes (azaz minden sora ugyanolyan hosszú, minden elem azonos típusú, amelyekre értelmezett az összehasonlítás)! Az eredmény egy listába kerüljön!\n", "- Oldjuk meg az előző feladatot úgy, hogy a sorminimumok helyett az oszlopmaximumokat határozzuk meg!\n", "- Döntsük el egy négyzetes mátrixról, hogy szimmetrikus-e vagy sem! Ha minden elem megegyezik a főátlóra vetített tükörképével ($a_{i,j}=a_{j,i}$) akkor szimmetrikus, egyébként nem." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{500: 1, 200: 2, 5: 1}\n", "cba\n" ] } ], "source": [ "euro = (500, 200, 100, 50, 20, 10, 5, 2, 1)\n", "\n", "num = int(input(\"Adjon meg egy számot! \"))\n", "ret = {}\n", "for i in euro:\n", " while num // i > 0:\n", " if i not in ret.keys():\n", " ret.update({i : 1})\n", " else:\n", " ret[i] += 1\n", " num = num - i\n", " #ret.append(i)\n", "\n", "print(ret)\n", "\n", "\n", "print(\"abc\"[::-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Házi feladatok\n", "- Egy műkorcsolyaversenyen N (>=1) versenyző indul és M (>=3) bíró pontoz. Minden versenyző minden bírótól pontosan egy db pontot kap (ami 0-tól 6-ig egy valós szám)! Ismerjük a versenyzők nevét, nemzetiségét (3 betűs sztring), és a bíróktól kapott pontjaikat. Számítsuk ki a versenyzők átlagpontjait, majd készítsünk olyan listát, amelyben a versenyzők összes adata (név, nemzetiség, pontok, átlagpont) szerepel! Minden versenyző legyen külön sorban, a pontok két tizedesjeggyel jelenjenek meg, egymás alá igazítva!\n", "- Oldjuk meg a feladatot úgy is, hogy az átlagpontba az adott versenyző legnagyobb és legkisebb pontjának egy-egy előfordulását nem számítjuk be (a bírók részrehajlását elkerülendő)!" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.0" } }, "nbformat": 4, "nbformat_minor": 2 }