1
0
Fork 0
mirror of https://gitlab.rlp.net/pgp/pgp1-python-einfuehrung synced 2024-11-16 13:48:11 +00:00

Small changes, especially removing the list of lists daten

This commit is contained in:
Mo 2022-05-26 21:28:03 +02:00
parent 2fd7e95409
commit ee101a63ac
3 changed files with 40 additions and 34 deletions

View file

@ -905,6 +905,24 @@
"Messwerte1" "Messwerte1"
] ]
}, },
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Man kann eine leere Liste erstellen und später mit `append` Einträge hinzufügen."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"empty_list = [] # Leere Liste\n",
"empty_list.append(42)\n",
"empty_list"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
@ -1166,7 +1184,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"SIe können die `range` Rückgabe auch wieder in eine Liste umwandeln" "Sie können die `range` Rückgabe auch wieder in eine Liste umwandeln"
] ]
}, },
{ {
@ -1196,7 +1214,7 @@
" \n", " \n",
"#### Aufgabe 4.a.: Erstellen von Messwerttabellen:\n", "#### Aufgabe 4.a.: Erstellen von Messwerttabellen:\n",
"\n", "\n",
"Erstellen Sie für jede Spalte der nachfolgenden Messtabelle eine Liste, welche die Messdaten beinhaltet. Benutzen Sie anschließend den `append` Befehl, um die Daten jeder Spalte an eine weitere Liste namens *daten* anzuhängen. \n", "Erstellen Sie für jede Spalte der nachfolgenden Messtabelle eine Liste, welche die Messdaten beinhaltet.\n",
"\n", "\n",
"| Messwertnummer | Spannung [V] | Strom [mA] | Fehler der Spannung [V] | Fehler des Stroms [mA] |\n", "| Messwertnummer | Spannung [V] | Strom [mA] | Fehler der Spannung [V] | Fehler des Stroms [mA] |\n",
"|----------------|--------------|------------|-------------------------|---------------------------|\n", "|----------------|--------------|------------|-------------------------|---------------------------|\n",
@ -1213,16 +1231,8 @@
"**Tipp:**\n", "**Tipp:**\n",
"\n", "\n",
"1. Sie haben bereits die Funktionen für die Leistung in Aufgabe 3 definiert und können sie hier erneut verwenden. \n", "1. Sie haben bereits die Funktionen für die Leistung in Aufgabe 3 definiert und können sie hier erneut verwenden. \n",
"2. Das Slicen von verschachtelten Listen funktioniert genauso wie bei normalen Listen:\n",
"\n", "\n",
"```python\n", "2. Geben Sie an, wie sich die Messwertnummer zum Listenindex verhält.\n",
"spalte0 = daten[0] #<-- Wählt die Spalte 0 an \n",
"spalte0[2] #<-- Wählt aus Spalte 0 den Messwert mit Index 2 an\n",
"# oder als Einzeiler:\n",
"daten[0][2] \n",
"```\n",
"\n",
"3. Geben Sie an, wie sich die Messwertnummer zum Listenindex verhält.\n",
"<div>" "<div>"
] ]
}, },
@ -1295,7 +1305,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.7" "version": "3.10.4"
} }
}, },
"nbformat": 4, "nbformat": 4,

View file

@ -198,7 +198,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.7" "version": "3.10.4"
} }
}, },
"nbformat": 4, "nbformat": 4,

View file

@ -47,7 +47,8 @@
"for wert in liste:\n", "for wert in liste:\n",
" print('Wert:', wert)\n", " print('Wert:', wert)\n",
" rechnung = wert + 2\n", " rechnung = wert + 2\n",
"print('Ergebnis:', rechnung)" "\n",
"print('Rechnung:', rechnung)"
] ]
}, },
{ {
@ -250,7 +251,7 @@
"<div class=task>\n", "<div class=task>\n",
" \n", " \n",
"#### Aufgabe 4.b.: Werte berechnen:\n", "#### Aufgabe 4.b.: Werte berechnen:\n",
"Kopieren Sie Ihre Lösung von Aufgabe 4.a. aus der Vorbereitung in das Notebook und berechnen Sie nun für die Messwerte aus Aufgabe 4 a. die Leistung $P$ und den Widerstand $R$ sowie deren Fehler. Nutzen Sie hierfür die ausführliche schrebweise der **for**-Schleife im Fall des Widerstands $R$ und den list-comprehension Syntax für die Leistung $P$. Fügen Sie die berechneten Werte als neue Spalten an die Liste *daten* an. \n", "Kopieren Sie Ihre Lösung von Aufgabe 4.a. aus der Vorbereitung in das Notebook und berechnen Sie nun für die Messwerte aus Aufgabe 4 a. die Leistung $P$ und den Widerstand $R$ sowie deren Fehler. Nutzen Sie hierfür die ausführliche schrebweise der **for**-Schleife im Fall des Widerstands $R$ und den list-comprehension Syntax für die Leistung $P$.\n",
"<div>" "<div>"
] ]
}, },
@ -267,24 +268,19 @@
"source": [ "source": [
"# Hier eine kleine Hilfestellung für den Start:\n", "# Hier eine kleine Hilfestellung für den Start:\n",
"# Messwerttabelle aus Aufgabe 4. a.:\n", "# Messwerttabelle aus Aufgabe 4. a.:\n",
"messwert_nummer = list(range(1,7,1))\n", "spannung_werte = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
"spannungs_wert = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
"strom_werte = [110, 98, 102, 124, 105, 95]\n", "strom_werte = [110, 98, 102, 124, 105, 95]\n",
"dspannung_wetre = [0.32, 0.15, 0.63, 0.12, 0.20, 0.17]\n", "dspannung_werte = [0.32, 0.15, 0.63, 0.12, 0.20, 0.17]\n",
"dstrom_werte = [10]*len(messwert_nummer)\n", "dstrom_werte = [10] * len(strom_werte)\n",
"widerstand = []\n", "widerstand_werte = []\n",
"\n",
"daten = [messwert_nummer, spannungs_wert, strom_werte, dspannung_wetre, dstrom_werte]\n",
"\n", "\n",
"# Beispiel für die Berechnung des Widerstandes:\n", "# Beispiel für die Berechnung des Widerstandes:\n",
"def res(i, u):\n", "def res(i, u):\n",
" r = u / i\n", " r = u / i\n",
" return r\n", " return r\n",
"\n", "\n",
"for strom, spannung in zip(daten[2], daten[1]):\n", "for strom, spannung in zip(strom_werte, spannung_werte):\n",
" widerstand.append(res(strom, spannung))\n", " widerstand_werte.append(res(strom, spannung))\n",
" \n",
"daten.append(widerstand)\n",
"\n", "\n",
"# Jetzt sind Sie gefragt:\n", "# Jetzt sind Sie gefragt:\n",
"\n" "\n"
@ -515,7 +511,7 @@
" return x**3\n", " return x**3\n",
"\n", "\n",
"\n", "\n",
"x1 = list(range(-3, 4, 1)) # <- Werte zwischen -3 und 3\n", "x1 = range(-3, 4, 1) # <- Werte zwischen -3 und 3\n",
"x2 = [i / 10 for i in range(-30, 31, 1)] # <- 10 mal mehr Werte\n", "x2 = [i / 10 for i in range(-30, 31, 1)] # <- 10 mal mehr Werte\n",
"\n", "\n",
"y1 = [cubic(j) for j in x1]\n", "y1 = [cubic(j) for j in x1]\n",
@ -1092,7 +1088,7 @@
" strom, \n", " strom, \n",
" spannung,\n", " spannung,\n",
" sigma=spannung_error,\n", " sigma=spannung_error,\n",
" absolute_sigma=True \n", " absolute_sigma=True,\n",
" )\n", " )\n",
"\n", "\n",
"chi_2_new = [(u - Spannung2(I, *para3))**2 / du**2 for I, u, du in zip(strom, spannung, spannung_error)]\n", "chi_2_new = [(u - Spannung2(I, *para3))**2 / du**2 for I, u, du in zip(strom, spannung, spannung_error)]\n",
@ -1166,7 +1162,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.7" "version": "3.10.4"
} }
}, },
"nbformat": 4, "nbformat": 4,