{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tárgy elei információk\n", " - Követelmények\n", " - GitHub\n", " - Hogy fog zajlani a gyakorlat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Python gyakorlat 1\n", "\n", "A feladatok megoldásához bármilyen segédezköz igénybe vehető (internet, előadás anyaga,...)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. `range()` \n", "\n", "### 1.1 Írd ki a számokat 70-től 79-ig." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2 Írd ki az első tíz négyzetszámot." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \\*1.3 Írd ki a számokat 19-től 10-ig." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Felhasználói bemenet olvasása\n", "\n", "Bemenetet az `input()` parancs segítségével lehet beolvasni. Ez mindig egy `string`-el tér vissza, amit az `int()` fügvénnyel konvertálhatunk egésszé. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "n = input(\"Írj be egy számot\")\n", "int(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Olvass be egy N számot majd írd ki a számokat 1-től N-ig." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2 Olvass be egy N számot majd írd ki az első N négyzetszámot." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3 Olvass be számokat, amíg 0-t nem olvasol, majd írd ki az összegüket." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## 3. Listák\n", "\n", "### 3.1 Készíts egy listát az alábbi listában lévő páratlan számokból." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "l = [2, 3, -2, -7, 0, 2, 3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Olvass be számokat, amíg 0-t nem olvasol és gyűjtsd őket össze egy listába. Írd ki őket visszafele sorrendben (a 0 kivételével).\n", "\n", "Például:\n", "\n", "```\n", "input: 3 4 2 12 3 0\n", "output: 3 12 3 4 3 ```" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 Ovass be egy N számot, majd pedig pontosan N darab számot. Írd ki őket visszafelé. \n", "\n", "Például:\n", "\n", "```\n", "input: 4 -1 0 2 12\n", "output: 12 2 0 -1\n", "```" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Függvények\n", "\n", "A következő feladatokban függvény vázlatokat láthattok. Fejezzétek be őket.\n", "Ha helyesen dolgoztok, a feladatok alján lévő ellenörző \"assert\" állítások nem fognak hibát jelezni. (Természetesen, ez visszafelé nem feltétlenül igaz.) Nyugodtan bővíthetitek a tesztek listáját. \n", "\n", "### 4.1 Írj egy függvényt, amely beolvas egy N számot, majd pedig kiírja az első N darab prímszámot, 2-vel kezdve." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_n_primes(N):\n", " # TODO\n", "\n", "assert(get_n_primes(3) == [2, 3, 5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2 Írj egy függvényt, ami egy `int` paramétert vár (N), majd pedig kiírja az N. Fibonacci számot.\n", "\n", "A Fibonacci sorozat így kezdődik: 1, 1, 2, 3, 5, 8, Tehát a második szám 1 és a harmadik 2." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_nth_fibonacci(N):\n", " # TODO\n", "\n", "assert(get_nth_fibonacci(2) == 1)\n", "assert(get_nth_fibonacci(3) == 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3 Írj egy függvényt, ami egy `int` paramétert vár (N), majd pedig kiírja az első N darab Fibonacci számot.\n", "\n", "Próbáld meg felhasználni az előző feladatban megírt függvényed!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_n_fibonacci(N):\n", " # TODO\n", " \n", "assert(get_n_fibonacci(4) == [1, 1, 2, 3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \\*4.4 Írj egy függvényt, ami elfogad két egész számot, A-t és B-t, és vissztér B-A darab Fibbonacci számmal, az A.-tól a B-1.-ig. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_range_fibonacci(A, B):\n", " # TODO\n", "\n", "assert(get_range_fibonacci(2, 5) == [1, 2, 3])\n", "assert(get_range_fibonacci(5, 5) == [])\n", "assert(get_range_fibonacci(1, 5) == [1, 1, 2, 3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Alapértelmezett (default) és kulcsszavas (keyword) argumentumok.\n", "\n", "### 5.1 Írj egy függvényet, amely kiszámolja egy listában lévő számok összegét, egy opcionális kezdőértékből kiindulva. Ha a kezdőérték nincs megadva, az összegzés kezdődjön 0-tól." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# TODO def sum_list...\n", "\n", "assert(sum_list([1, 2, 3]) == 6)\n", "assert(sum_list([1, 2, 3], 5) == 11)\n", "assert(sum_list([1, 2, 3], 7) == 13)\n", "assert(sum_list([1, 2, 3, 6], 5) == 17)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2 Írj egy függvényt, amely elfogad egy két számot és egy aritmetikai műveletet string alakban (\"+\", \"-\", \"\\*\" vagy \"/\") és visszatér a művelet eredményével. Az alapértelmezett művelet legyen az összeadás." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# TODO def arithmetic...\n", "\n", "assert(arithmetic(2, 3) == 5)\n", "assert(arithmetic(2, 3, \"-\") == -1)\n", "assert(arithmetic(2, 3, \"*\") == 6)\n", "assert(arithmetic(2, 3, \"/\") == 2/3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Extra feladatok\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }