Upload
This commit is contained in:
761
05_gyak_mego.ipynb
Normal file
761
05_gyak_mego.ipynb
Normal file
@ -0,0 +1,761 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Egy hallgatói adatnyilvántartás\n",
|
||||
"A megoldásokat több lépésben készítjük el, az adott lépésekre fókuszálva."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1. lépés \n",
|
||||
"Egy hallgató adatai: név, Neptun kód, érdemjegyek. Minden hallgató ugyanazokat a tárgyakat tanulja (pl. 3 db tárgyat) és egy tárgyból mindenkinek pontosan egy db jegye van."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"('Gipsz Jakab', 'ABC123', 1, 2, 3)"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Ha az adatok nem módusulnak, akkor a tuple is megfelelő \n",
|
||||
"('Gipsz Jakab', 'ABC123', 1, 2, 3)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['Gipsz Jakab', 'ABC123', 1, 2, 3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Ha az adatok módusulhatnak, akkor a lista a megfelelő \n",
|
||||
"['Gipsz Jakab', 'ABC123', 1, 2, 3]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'ABC123'"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Egy változóban is tárolhatók az adatok, ha később hivatkozni szeretnénk rá\n",
|
||||
"h = ('Gipsz Jakab', 'ABC123', 1, 2, 3)\n",
|
||||
"# A hallgató Neptun kódja (feltételezve a fenti adatsorrendet)\n",
|
||||
"h[1]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['Gipsz Jakab', 'XYZ000', 1, 2, 3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Lista esetén módosíthatók is az adatok\n",
|
||||
"h = ['Gipsz Jakab', 'ABC123', 1, 2, 3]\n",
|
||||
"# A Neptun kód módosítása\n",
|
||||
"h[1] = 'XYZ000'\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 2. lépés \n",
|
||||
"Legyen több hallgató a nyilvántartásban!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Gipsz Jakab\n",
|
||||
"5\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A hallgatókat (most két hallgatót) egy tuple-ben adjuk meg\n",
|
||||
"\n",
|
||||
"# Egy hallgató adatai tuple-ben\n",
|
||||
"h = (('Gipsz Jakab', 'ABC123', 1, 2, 3),\n",
|
||||
" ('Wincs Eszter', 'XYZ000', 2, 4, 5))\n",
|
||||
"\n",
|
||||
"# Az első hallgató neve\n",
|
||||
"print(h[0][0])\n",
|
||||
"\n",
|
||||
"# Az utolsó hallgató 3. jegye\n",
|
||||
"print(h[len(h) - 1][4])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "TypeError",
|
||||
"evalue": "'tuple' object does not support item assignment",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[1;32m<ipython-input-6-0a64637030d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Az adatok nem módosíthatók\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mh\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[1;31mTypeError\u001b[0m: 'tuple' object does not support item assignment"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az adatok nem módosíthatók\n",
|
||||
"h[1][4] = 2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[['Gipsz Jakab', 'ABC123', 1, 2, 3], ['Wincs Eszter', 'XYZ000', 2, 4, 5]]\n",
|
||||
"[['Móricka', 'XXX999', 1, 1, 1], ['Wincs Eszter', 'XYZ000', 2, 4, 5]]\n",
|
||||
"[['Móricka', 'XXX999', 1, 1, 1], ['Wincs Eszter', 'XYZ000', 2, 4, 3]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A hallgatókat (most két hallgatót) egy listában adjuk meg\n",
|
||||
"\n",
|
||||
"# Egy hallgató adatai listában\n",
|
||||
"h = [['Gipsz Jakab', 'ABC123', 1, 2, 3],\n",
|
||||
" ['Wincs Eszter', 'XYZ000', 2, 4, 5]]\n",
|
||||
"\n",
|
||||
"print(h)\n",
|
||||
"\n",
|
||||
"# Az adatok módosíthatók\n",
|
||||
"h[0] = ['Móricka', 'XXX999', 1, 1, 1]\n",
|
||||
"print(h)\n",
|
||||
"h[1][4] = 3 \n",
|
||||
"print(h)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"1"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A jegyek elkülönítve is kezelhetők (például egy-egy listában)\n",
|
||||
"h1 = [['Gipsz Jakab', 'ABC123', [1, 2, 3]],\n",
|
||||
" ['Wincs Eszter', 'XYZ000', [2, 4, 5]]]\n",
|
||||
"# Az első hallgató első jegye\n",
|
||||
"h1[0][2][0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 3. lépés \n",
|
||||
"A tárgyaknak legyenek nevei!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"('Matematika', 'Fizika', 'Programozás')"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Egy külön változóba vesszük fel a tárgyak neveit (ahelyett, hogy minden hallgatóhoz felvennénk őket)\n",
|
||||
"t = ('Matematika', 'Fizika', 'Programozás')\n",
|
||||
"t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[['Móricka', 'XXX999', 1, 1, 1], ['Wincs Eszter', 'XYZ000', 2, 4, 3]]\n",
|
||||
"Móricka 1 Matematika\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A jegyek és a tárgyak sorrendje megegyező\n",
|
||||
"print(h)\n",
|
||||
"# Az első hallgató neve, első jegye és hozzá tartozó tárgy neve\n",
|
||||
"print(h[0][0], h[0][2], t[0])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 4. lépés \n",
|
||||
"A Neptun kód legyen egyedi!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[['Gipsz Jakab', 'ABC123', 1, 2, 3],\n",
|
||||
" ['Móricka', 'XXX999', 1, 1, 1],\n",
|
||||
" ['Wincs Eszter', 'ABC123', 2, 4, 5]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A lista nem 'védi' az egyediséget (azaz megenged egyforma Neptun kódokat)\n",
|
||||
"h = [['Gipsz Jakab', 'ABC123', 1, 2, 3],\n",
|
||||
" ['Móricka', 'XXX999', 1, 1, 1],\n",
|
||||
" ['Wincs Eszter', 'ABC123', 2, 4, 5]]\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'ABC123': ['Wincs Eszter', 2, 4, 5], 'XXX999': ['Móricka', 1, 1, 1]}"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A szótár viszont csak egyedi kulcsokat enged meg\n",
|
||||
"# A Neptun kód a kulcs, az értékek pedig az egyes hallgatók adatai egy-egy listában\n",
|
||||
"# Azonos kulcs esetén az utoljára felvett adat marad csak meg a szótárban\n",
|
||||
"h = {'ABC123':['Gipsz Jakab', 1, 2, 3],\n",
|
||||
" 'XXX999':['Móricka', 1, 1, 1],\n",
|
||||
" 'ABC123':['Wincs Eszter', 2, 4, 5]}\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "KeyError",
|
||||
"evalue": "0",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[1;32m<ipython-input-13-919b098136b6>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# A hallgatók elérése a szótárban már nem történhet index segítségével\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mh\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[1;31mKeyError\u001b[0m: 0"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A hallgatók elérése a szótárban már nem történhet index segítségével\n",
|
||||
"h[0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['Wincs Eszter', 2, 4, 5]"
|
||||
]
|
||||
},
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A kulccsal kell indexelni\n",
|
||||
"h['ABC123']"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Wincs Eszter'"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Egy adat elérése is csak a 'hallgatón keresztül' történhet\n",
|
||||
"# Az ABC123 Neptun kódú hallgató neve\n",
|
||||
"h['ABC123'][0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 5. lépés \n",
|
||||
"A hallgatók tanulhassanak különböző tárgyakat!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[['Gipsz Jakab', 'ABC123', {'Matematika': 1, 'Fizika': 2, 'Programozás': 3}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika': 1}],\n",
|
||||
" ['Wincs Eszter', 'AAA123', {'Fizika': 2, 'Testnevelés': 5}]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A tantárgyaknak a hallgatókhoz kell tartozni, így szótár a megfelelő adatstruktúra\n",
|
||||
"h = [['Gipsz Jakab', 'ABC123', {'Matematika':1, 'Fizika':2, 'Programozás':3}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika':1}],\n",
|
||||
" ['Wincs Eszter', 'AAA123', {'Fizika':2, 'Testnevelés':5}]]\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"3"
|
||||
]
|
||||
},
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az első hallgató hány tárgyat tanul\n",
|
||||
"len(h[0][2])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Tanul-e fizikát az első hallgató?\n",
|
||||
"'Fizika' in h[0][2]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"2"
|
||||
]
|
||||
},
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Hányast kapott belőle?\n",
|
||||
"h[0][2]['Fizika']"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 6. lépés \n",
|
||||
"A hallgatók egy tárgyból több jegyet is kaphassanak!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[['Gipsz Jakab',\n",
|
||||
" 'ABC123',\n",
|
||||
" {'Matematika': [1, 2], 'Fizika': [2, 3], 'Programozás': [3, 4, 1]}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika': [1, 1, 1]}],\n",
|
||||
" ['Wincs Eszter', 'AAA123', {'Fizika': [2], 'Testnevelés': [5, 5, 5]}]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A tantárgyakhoz az 1 db érdemjegy helyett többet rendelünk (tuple vagy lista, itt most listát használunk)\n",
|
||||
"h = [['Gipsz Jakab', 'ABC123', {'Matematika':[1, 2], 'Fizika':[2, 3], 'Programozás':[3, 4, 1]}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika':[1, 1, 1]}],\n",
|
||||
" ['Wincs Eszter', 'AAA123', {'Fizika':[2], 'Testnevelés':[5, 5, 5]}]]\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[2, 3]"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az első hallgató jegyei fizikából\n",
|
||||
"h[0][2]['Fizika']"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['Gipsz Jakab',\n",
|
||||
" 'ABC123',\n",
|
||||
" {'Matematika': [1, 2], 'Fizika': [2, 3, 5], 'Programozás': [3, 4, 1]}]"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az első hallgató kapott egy új jegyet (egy 5-t) fizikából\n",
|
||||
"h[0][2]['Fizika'].append(5)\n",
|
||||
"h[0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 7. lépés \n",
|
||||
"A hallgatóknak lehessenek kedvenc tárgyai!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[['Gipsz Jakab',\n",
|
||||
" 'ABC123',\n",
|
||||
" {'Matematika': 1, 'Fizika': 2, 'Programozás': 3},\n",
|
||||
" {'Fizika'}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika': 1}, {}],\n",
|
||||
" ['Wincs Eszter',\n",
|
||||
" 'AAA123',\n",
|
||||
" {'Fizika': 2, 'Testnevelés': 5},\n",
|
||||
" {'Fizika', 'Testnevelés'}]]"
|
||||
]
|
||||
},
|
||||
"execution_count": 23,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A halmaz a megfelelő adatstruktúra a kedvenc tárgyaknak, felvesszük a hallgatókhoz (most utolsó adatként)\n",
|
||||
"h = [['Gipsz Jakab', 'ABC123', {'Matematika':1, 'Fizika':2, 'Programozás':3}, {'Fizika'}],\n",
|
||||
" ['Móricka', 'XXX999', {'Mechanika':1}, {}],\n",
|
||||
" ['Wincs Eszter', 'AAA123', {'Fizika':2, 'Testnevelés':5}, {'Testnevelés', 'Fizika'}]]\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 24,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Van-e kedvenc tárgya az első hallgatónak?\n",
|
||||
"len(h[0][3]) > 0\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 25,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"True"
|
||||
]
|
||||
},
|
||||
"execution_count": 25,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az utolsó hallgató kedveli-e a Fizikát?\n",
|
||||
"'Fizika' in h[len(h) - 1][3]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 8. lépés \n",
|
||||
"A hallgatók egyes adatait ne indexekkel, hanem nevekkel (Név, Neptun kód, Jegyek, Kedvencek) lehessen hivatkozni!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[{'Név': 'Gipsz Jakab',\n",
|
||||
" 'Neptun kód': 'ABC123',\n",
|
||||
" 'Jegyek': {'Fizika': 5},\n",
|
||||
" 'Kedvencek': {'Fizika'}},\n",
|
||||
" {'Név': 'Móricka',\n",
|
||||
" 'Neptun kód': 'XXX999',\n",
|
||||
" 'Jegyek': {'Mechanika': 1},\n",
|
||||
" 'Kedvencek': {}},\n",
|
||||
" {'Név': 'Wincs Eszter',\n",
|
||||
" 'Neptun kód': 'AAA123',\n",
|
||||
" 'Jegyek': {'Fizika': 2, 'Testnevelés': 5},\n",
|
||||
" 'Kedvencek': {'Fizika', 'Testnevelés'}}]"
|
||||
]
|
||||
},
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Ehhez az egyes hallgatók adatait szótárba kell tennünk\n",
|
||||
"h = [{'Név':'Gipsz Jakab', 'Neptun kód':'ABC123', 'Jegyek':{'Fizika':5}, 'Kedvencek':{'Fizika'}},\n",
|
||||
" {'Név':'Móricka', 'Neptun kód':'XXX999', 'Jegyek':{'Mechanika':1}, 'Kedvencek':{}},\n",
|
||||
" {'Név':'Wincs Eszter', 'Neptun kód':'AAA123', 'Jegyek':{'Fizika':2, 'Testnevelés':5}, 'Kedvencek':{'Testnevelés', 'Fizika'}}]\n",
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Gipsz Jakab {'Fizika': 5}\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Az első hallgató neve és érdemjegyei\n",
|
||||
"print(h[0]['Név'], h[0]['Jegyek'])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'Fizika', 'Testnevelés'}"
|
||||
]
|
||||
},
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A harmadik hallgató kedvenc tárgyai\n",
|
||||
"h[2]['Kedvencek']"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"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.11.3"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Reference in New Issue
Block a user