From cf62c07a19d9b4bad923ea815a1c6300e10dcfa5 Mon Sep 17 00:00:00 2001 From: Kilokem Date: Sat, 21 Sep 2024 14:23:31 +0200 Subject: [PATCH] VizsgaEgy --- KiadottMegoldasok/vizsga_01_minta_mego.ipynb | 11 +- SajatMegoldasok/vizsga_01_minta.ipynb | 177 +++++++++++++++++++ 2 files changed, 184 insertions(+), 4 deletions(-) create mode 100644 SajatMegoldasok/vizsga_01_minta.ipynb diff --git a/KiadottMegoldasok/vizsga_01_minta_mego.ipynb b/KiadottMegoldasok/vizsga_01_minta_mego.ipynb index 47c8c6b..33719b1 100644 --- a/KiadottMegoldasok/vizsga_01_minta_mego.ipynb +++ b/KiadottMegoldasok/vizsga_01_minta_mego.ipynb @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -127,7 +127,10 @@ " if min == -1:\n", " min = diff; eri = i; erj = j \n", " else:\n", - " if diff < min: min = diff; eri = i; erj = j\n", + " if diff < min: \n", + " min = diff\n", + " eri = i\n", + " erj = j\n", "print(f'Életkorban legközelebb állók: {eri[0]}, {erj[0]}')\n", "print(f'{min.days} nap köztük a különbség')" ] @@ -568,7 +571,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.12.6" } }, "nbformat": 4, diff --git a/SajatMegoldasok/vizsga_01_minta.ipynb b/SajatMegoldasok/vizsga_01_minta.ipynb new file mode 100644 index 0000000..c45903b --- /dev/null +++ b/SajatMegoldasok/vizsga_01_minta.ipynb @@ -0,0 +1,177 @@ +{ + "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 (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.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}