Files
PythonProgramozas_GKNB_MSTM…/SajatMegoldasok/vizsga_01_minta.ipynb
2024-10-08 10:59:11 +02:00

178 lines
4.8 KiB
Plaintext

{
"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": 57,
"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": 1,
"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": 97,
"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": 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.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}