Files
PythonProgramozas_GKNB_MSTM…/SajatMegoldasok/vizsga_01_minta.ipynb
2024-12-09 19:41:42 +01:00

290 lines
7.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vizsgaminta 1."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. feladat [6p]\n",
"\n",
"Készítsünk programot, amely bekér a felhasználótól két sztringet, majd kiírja a bennük található leghosszabb közös részsztringet! Példa futási eredmény:\n",
"```\n",
"1. sztring: András\n",
"2. sztring: Bandi\n",
"A leghosszabb közös rész: nd\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4\n",
"alma\n"
]
}
],
"source": [
"a = \"Andrásalmaka\"\n",
"b = \"Balmaandika\"\n",
"max_len = 0\n",
"maxtext = \"\"\n",
"\n",
"for ia in range(len(a)):\n",
" for ib in range(len(b)):\n",
" if a[ia] == b[ib]:\n",
" counter = 0\n",
" for iii in range(min(len(a) - ia, len(b) - ib)):\n",
" if b[ib + iii] != a[ia + iii]:\n",
" break\n",
" counter += 1\n",
" if max_len < counter:\n",
" max_len = counter\n",
" maxtext = a[ia:ia + max_len]\n",
"\n",
"print(max_len)\n",
"print(maxtext)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. feladat [6p]\n",
"\n",
"A `birthdays` lista kitalált személyek nevét és születési dátumát tartalmazza. Készítsünk programot, amely megkeresi, hogy kik állnak életkorban egymáshoz a legközelebb, és hány nap köztük a különbség! A program ne csak a megadott `birthdays` listára működjön, hanem tetszőleges, ugyanilyen formátumú bemenetre is! Feltehetjük, hogy minden név különböző, és legalább két név meg van adva."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"birthdays = [\n",
" ('Kovács Andor', '1999-10-29'),\n",
" ('Kiss Martina', '2000-02-13'),\n",
" ('Horváth Barna', '1999-12-05'),\n",
" ('Győri Eszter', '2000-10-29'),\n",
" ('Nagy Tivadar', '1999-08-16'),\n",
" ('Tóth Tamara', '2000-01-30'),\n",
" ('Szakács Sándor', '1999-09-02')\n",
"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Elvárt futási eredmény:\n",
"```\n",
"Életkorban legközelebb állók: Kiss Martina, Tóth Tamara\n",
"14 nap köztük a különbség\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Életkorban legközelebb állók: Kiss Martina, Tóth Tamara 14 nap köztük a különbség\n"
]
}
],
"source": [
"from datetime import date\n",
"\n",
"def todate(s):\n",
" year = int(s[0:4])\n",
" month = int(s[5:7])\n",
" day = int(s[8:10])\n",
" return date(year, month, day)\n",
"\n",
"min = abs(todate(birthdays[0][1]) - todate(birthdays[1][1]))\n",
"for i in range(len(birthdays)):\n",
" a = todate(birthdays[i][1])\n",
" for ii in range(i+1, len(birthdays)):\n",
" b = todate(birthdays[ii][1])\n",
" if min > abs(a-b):\n",
" min = abs(a-b)\n",
" dat1 = birthdays[i]\n",
" dat2 = birthdays[ii]\n",
"\n",
"print(f\"Életkorban legközelebb állók: {dat1[0]}, {dat2[0]} {min.days} nap köztük a különbség\")\n",
"\n",
" \n",
"\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. feladat [8p]\n",
"\n",
"Az [investments.txt](investments.txt) szövegfájl amerikai cégekbe történő befektetésekről tartalmaz adatokat (a TechCrunch hírportál alapján). Készítsünk programot, amely kiszámítja és kiírja az alábbi statisztikákat:\n",
"- Hány befektetés történt összesen?\n",
"- Melyik cég(ek)be fektették be a legtöbbször és hányszor?\n",
"- Cégkategóriánként hány dollárt fektettek be összesen?"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 LifeLock\n",
"1 LifeLock\n",
"2 LifeLock\n",
"3 MyCityFaces\n",
"4 Flypaper\n",
"Name: company, dtype: object\n",
"The head: company numEmps category city state fundedDate raisedAmt \\\n",
"0 LifeLock NaN web Tempe AZ 1-May-07 6850000 \n",
"1 LifeLock NaN web Tempe AZ 1-Oct-06 6000000 \n",
"2 LifeLock NaN web Tempe AZ 1-Jan-08 25000000 \n",
"3 MyCityFaces 7.0 web Scottsdale AZ 1-Jan-08 50000 \n",
"4 Flypaper NaN web Phoenix AZ 1-Feb-08 3000000 \n",
"\n",
" raisedCurrency round \n",
"0 USD b \n",
"1 USD a \n",
"2 USD c \n",
"3 USD seed \n",
"4 USD a \n",
"1434\n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
"frame = pd.read_csv(\"investments.txt\", sep=\"|\")\n",
"\n",
"print(frame[\"company\"].iloc[:5])\n",
"\n",
"print(\"The head:\", frame.head())\n",
"\n",
"framecount = frame[\"company\"].count()\n",
"print(framecount)\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"company\n",
"Facebook 7\n",
"Juice Wireless 5\n",
"Vivsimo 5\n",
"Glam Media 5\n",
"Brightcove 5\n",
" ..\n",
"AdReady 1\n",
"AdMob 1\n",
"Acquia 1\n",
"x+1 1\n",
"vbs tv 1\n",
"Name: category, Length: 891, dtype: int64\n"
]
}
],
"source": [
"grouped = frame.groupby(\"company\").count()\n",
"\n",
"grouped = frame[\"company\"].value_counts()\n",
"\n",
"grouped = frame.groupby(\"company\")[\"category\"].count().sort_values(ascending=False)\n",
"\n",
"\n",
"print(grouped)"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"category\n",
"web 11753474750\n",
"software 1017942000\n",
"hardware 824500000\n",
"mobile 323020000\n",
"cleantech 258900000\n",
"other 119850000\n",
"biotech 77250000\n",
"consulting 32135000\n",
"Name: raisedAmt, dtype: int64\n"
]
}
],
"source": [
"categ = frame.groupby(\"category\")[\"raisedAmt\"].sum().sort_values(ascending=False)\n",
"\n",
"print(categ)"
]
},
{
"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.13.0"
}
},
"nbformat": 4,
"nbformat_minor": 1
}