261 lines
7.5 KiB
Plaintext
261 lines
7.5 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Vizsgaminta 2."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1. feladat [4p]\n",
|
|
"\n",
|
|
"A `planets` lista a Naprendszer bolygóinak tömegét és (átlagos) sugarát tartalmazza. Készítsünk programot, amely kiszámítja, hogy a bolygók felszínén érvényes nehézségi gyorsulás hányszorosa a földinek! A nehézségi gyorsulás képlete\n",
|
|
"$$g = G \\frac{M}{R^2},$$\n",
|
|
"ahol $G = 6,67408 \\cdot 10^{-11} \\frac{Nm^2}{kg^2}$ az univerzális gravitációs állandó, $M$ a bolygó tömege, $R$ pedig a bolygó tömegközéppontjától mért távolság. A program ne csak a `planets` listára működjön, hanem bármely ugyanilyen formátumú, bemenetre is! Elvárt futási eredmény:\n",
|
|
"```\n",
|
|
"\n",
|
|
"Merkúr: 0.38\n",
|
|
"Vénusz: 0.90\n",
|
|
"Föld: 1.00\n",
|
|
"...\n",
|
|
"```"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Merkúr: 0.38\n",
|
|
"Vénusz: 0.9\n",
|
|
"Föld: 1.0\n",
|
|
"Mars: 0.38\n",
|
|
"Jupiter: 2.64\n",
|
|
"Szaturnusz: 1.14\n",
|
|
"Uránusz: 0.92\n",
|
|
"Neptunusz: 1.15\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"planets = [\n",
|
|
" # bolygó neve, tömeg(10^21kg), sugár(km)\n",
|
|
" ('Merkúr', 330.2, 2439.7),\n",
|
|
" ('Vénusz', 4868.5, 6051.8),\n",
|
|
" ('Föld', 5973.6, 6371.0),\n",
|
|
" ('Mars', 641.85, 3389.5),\n",
|
|
" ('Jupiter', 1898600, 69911),\n",
|
|
" ('Szaturnusz', 568460, 58232),\n",
|
|
" ('Uránusz', 86832, 25362),\n",
|
|
" ('Neptunusz', 102430, 24622)\n",
|
|
"]\n",
|
|
"\n",
|
|
"\n",
|
|
"G = 6.67408 * 10**-11\n",
|
|
"\n",
|
|
"#föld gravitacioja:\n",
|
|
"M = planets[2][1] * 10 ** 21\n",
|
|
"R = planets[2][2] * 1000\n",
|
|
"fold_g = G * M / R ** 2\n",
|
|
"\n",
|
|
"\n",
|
|
"for i in planets:\n",
|
|
" M = i[1]*10**21\n",
|
|
" R2 = (i[2] * 1000) ** 2\n",
|
|
" g = G* (M/R2)\n",
|
|
" print(f\"{i[0]}: {round(g/fold_g,2)}\")\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2. feladat [4p]\n",
|
|
"\n",
|
|
"Készítsünk programot, amely bekéri a felhasználótól $n$ értékét, szimulál $n$ darab kockadobást, majd kiírja, hogy mi volt a leghosszabb 6-os sorozat hossza! Példa futási eredmény:\n",
|
|
"```\n",
|
|
"n: 50\n",
|
|
"31554643644341364414422455514666664664563666113524\n",
|
|
"A leghosszabb 6-os sorozat hossza: 5\n",
|
|
"```"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"463346463611214344644434512435364132263214511246655114424621542564625432253266512135666321524465236523511155213621633461152112634424142224413243313621\n",
|
|
"A leghosszabb 6-os sorozat hossza: 3\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import random\n",
|
|
"\n",
|
|
"n = int(input(\"n: \"))\n",
|
|
"max6 = 0; counter = 0; out = \"\"\n",
|
|
"\n",
|
|
"for i in range(n):\n",
|
|
" ranum = random.randint(1,6)\n",
|
|
" if ranum == 6:\n",
|
|
" counter += 1\n",
|
|
" else:\n",
|
|
" counter = 0\n",
|
|
" if counter > max6:\n",
|
|
" max6 = counter\n",
|
|
" \n",
|
|
" out += str(ranum)\n",
|
|
"print(out)\n",
|
|
"print(\"A leghosszabb 6-os sorozat hossza:\", max6)\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 3. feladat [12p]\n",
|
|
"\n",
|
|
"A [hotels.txt](hotels.txt) szövegfájl Las Vegas-i szállodák értékeléséről tartalmaz adatokat. Minden sor egy szállóvendég által kiosztott értékeléshez tartozik. Készítsünk programot, amely kiszámítja és kiírja az alábbi statisztikákat:\n",
|
|
"- A szobák száma (`Nr. rooms`) alapján melyik az öt legnagyobb szálloda?\n",
|
|
"- Melyik szállodá(ka)t értékelték (`Score`) átlagosan a legmagasabbra és mekkora ez az átlagpont?\n",
|
|
"- Hány ponttal magasabb a medencével (`Pool`) rendelkező szállodák átlagos értékelése (`Score`) a többi szálloda átlagos értékelésénél?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" Hotel name Nr. rooms Pool Gym Tennis court \\\n",
|
|
"0 Circus Circus Hotel & Casino Las Vegas 3773 NO YES NO \n",
|
|
"1 Circus Circus Hotel & Casino Las Vegas 3773 NO YES NO \n",
|
|
"2 Circus Circus Hotel & Casino Las Vegas 3773 NO YES NO \n",
|
|
"3 Circus Circus Hotel & Casino Las Vegas 3773 NO YES NO \n",
|
|
"4 Circus Circus Hotel & Casino Las Vegas 3773 NO YES NO \n",
|
|
"\n",
|
|
" Spa Casino Traveler type Period of stay Score \n",
|
|
"0 NO YES Friends Dec-Feb 5 \n",
|
|
"1 NO YES Business Dec-Feb 3 \n",
|
|
"2 NO YES Families Mar-May 5 \n",
|
|
"3 NO YES Friends Mar-May 4 \n",
|
|
"4 NO YES Solo Mar-May 4 \n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"\n",
|
|
"frame = pd.read_csv(\"hotels.txt\", sep=';')\n",
|
|
"print(frame[:5])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Hotel name\n",
|
|
"The Venetian Las Vegas Hotel 96648\n",
|
|
"Excalibur Hotel & Casino 95544\n",
|
|
"Bellagio Las Vegas 94392\n",
|
|
"Circus Circus Hotel & Casino Las Vegas 90552\n",
|
|
"Caesars Palace 80352\n",
|
|
"Name: Nr. rooms, dtype: int64\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"legtobb = frame.groupby(\"Hotel name\")[\"Nr. rooms\"].sum().sort_values(ascending=False)[:5]\n",
|
|
"\n",
|
|
"print(legtobb)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Hotel name\n",
|
|
"Wynn Las Vegas 4.625\n",
|
|
"Name: Score, dtype: float64\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"scored = frame.groupby(\"Hotel name\")[\"Score\"].mean().sort_values(ascending=False)[:1]\n",
|
|
"\n",
|
|
"print(scored)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.9604166666666667\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"withspas = frame[frame[\"Pool\"] == \"YES\"][\"Score\"].mean()\n",
|
|
"withoutspas = frame[frame[\"Pool\"] == \"NO\"][\"Score\"].mean()\n",
|
|
"\n",
|
|
"print(withspas - withoutspas)"
|
|
]
|
|
}
|
|
],
|
|
"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
|
|
}
|