123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "# Software Entwicklung \n",
- "\n",
- "## Kapitel 3: Listen und Tupel"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "### 3.4 Traversieren \n",
- "\n",
- "Häufig müssen Listen von vorne bis hinten durchlaufen werden, um mit den Elementen der Liste Berechnungen \n",
- "durchzuführen oder Aktionen auszuführen. Dieses Traversieren der Liste kann bereits mit den bekannten \n",
- "Sprachmitteln erledigt werden:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "liste = [3, 7, 4, 9]\n",
- "index = 0\n",
- "while index < len(liste):\n",
- " print(liste[index])\n",
- " index = index + 1"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Allerdings bietet Python eine eigene Schleifenkonstruktion für das Traversieren einer Sequenz (wie z.B. einer Liste).\n",
- "Dabei ist nach dem Schlüsselwort <code>for</code> eine Variable anzugeben (hier <code>element</code> genannt),\n",
- "die sukzessive alle Werte annimmt, die in der Liste enthalten sind. Eine Variable für den Index ist nicht mehr nötig.\n",
- " "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "liste = [3, 7, 4, 9]\n",
- "for element in liste:\n",
- " print(element)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Neben Listen können z.B. auch Strings mit Hilfe von <code>for</code> durchlaufen werden."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "s = \"Hello!\"\n",
- "for char in s:\n",
- " print(char)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Die bekannten Schlüsselworte <code>break</code> und <code>continue</code> können auch bei einer \n",
- "<code>for</code>-Schleife verwendet werden."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "text = input(\"Text:\")\n",
- "vokale = ['A', 'E', 'O', 'U', 'I', 'a', 'e', 'o', 'u', 'i']\n",
- "ergebnis = \"\"\n",
- "\n",
- "for char in text:\n",
- " if char in vokale:\n",
- " continue\n",
- " ergebnis = ergebnis + char\n",
- "\n",
- "print(ergebnis)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "### 3.5 Range\n",
- "\n",
- "Möchte man mit einer <code>for</code>-Schleife über einen Zahlenbereich iterieren,\n",
- "so kann mit Hilfe der Built-In-Funktion <code>range</code> eine passende Sequenz \n",
- "erzeugt werden. Der Zahlenbereich startet - sofern nichts anderes angegeben wurde - bei 0\n",
- "und endet so, dass die übergebene Grenze gerade nicht erreicht wird."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "bereich = range(1000)\n",
- "print(bereich)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Ein *Range* ist keine Liste, da man sich den Speicherplatz für viele einzelne \n",
- "Elemente sparen kann, wenn man die Unter- und Obergrenze kennt. Möchte man eine\n",
- "Sequenz wie *Range* doch in eine Liste umwandeln, so kann die Built-In-Funktion \n",
- "<code>list</code> verwendet werden."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "bereich = range(50)\n",
- "print(list(bereich))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Ein *Range* kann auch mit Angabe der Untergrenze, der Obergrenze und der Sprungweite angelegt werden."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "unten = 10\n",
- "oben = 20\n",
- "sprung = 2\n",
- "bereich = range(unten, oben, sprung)\n",
- "print(list(bereich))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "slideshow": {
- "slide_type": "slide"
- }
- },
- "source": [
- "Ein *Range* kann von einer <code>for</code>-Schleife durchlaufen werden, ohne dass er zuvor in eine \n",
- "Liste umgewandelt wird."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "pycharm": {
- "is_executing": false,
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "for index in range(5):\n",
- " print(index)"
- ]
- }
- ],
- "metadata": {
- "celltoolbar": "Slideshow",
- "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.9.9"
- },
- "pycharm": {
- "stem_cell": {
- "cell_type": "raw",
- "metadata": {
- "collapsed": false
- },
- "source": []
- }
- }
- },
- "nbformat": 4,
- "nbformat_minor": 1
- }
|