{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Übungsblatt 11" ] }, { "cell_type": "markdown", "metadata": { "deletable": false }, "source": [ "*Schreiben Sie in dieses Feld Ihren Vornamen, Namen und Matrikelnummer.*" ] }, { "cell_type": "markdown", "metadata": { "deletable": false }, "source": [ "#### Übung 1: Schaltjahr (1 Punkt)\n", "\n", "Implementieren Sie die Funktion ```is_leap_year``` welche eine Jahreszahl als Argument entgegennimmt und ```True``` zurückgibt, falls es sich bei dem Jahr um ein Schaltjahr handelt. Ansonsten soll ```False``` zurückgegeben werden. Zur Erinnerung: ein Schaltjahr ist ein Jahr welches durch 4 teilbar ist, aber nicht zugleich durch 100. Also ist 2004 ein Schaltjahr, 1900 aber nicht. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "deletable": false, "exercise_id": 1 }, "outputs": [], "source": [ "def is_leap_year(year):\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "#### Übung 2: DNA (1 Punkte)\n", "\n", "Implementieren Sie die Funktion ```is_valid_DNA```, welche einen Text (String) als Argument entgegennimmt und prüft ob dieser ausschliesslich aus den Zeichen *A C G* und *T* besteht. Wenn dies der Fall ist wird ```True``` ansonsten ```False``` zurückgegeben. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "deletable": false, "exercise_id": 2 }, "outputs": [], "source": [ "def is_valid_DNA(text):\n", " pass\n", "\n", "# Der folgende Aufruf sollte True ergeben\n", "# is_valid_DNA(\"ACGTTA\")\n", "# und dieser False\n", "# is_valid_DNA(\"AYGBA\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Übung 3: Datumsklasse (5 Punkte)\n", "\n", "Implementieren Sie eine Klasse ```Date```, die ein Datum repräsentiert. Mit dem Aufruf ```Date(DAY, MONTH, YEAR)``` soll dabei ein neues Datum erstellt werden können. Dabei stehen `DAY`, `MONTH` und `YEAR` für den Tag, den Monat und das Jahr, welche jeweils als Zahlen repräsentiert werden. So wäre ```Date(13, 2, 1999)``` ein gültiger Aufruf. \n", "\n", "Implementieren Sie eine Methode ```is_valid```, welche ```True``` zurückgibt, wenn die Instanz ein gültiges Kalenderdatum repräsentiert. Zum Beispiel ist der 30.12.2012 ein gültiges Datum, aber der 31.2.2020 nicht. Sie müssen dabei Schaltjahre nicht berücksichtigen. \n", "\n", "Implementieren Sie eine Methode ```is_less_than```, welche ```True``` zurückgibt, wenn das in der Instanz repräsentierte Datum kleiner ist als ein als Argument übergebenes Datum. Anonsten soll ```False``` zurückgegeben werden. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "deletable": false, "exercise_id": 3 }, "outputs": [], "source": [ "# Hier kommt Ihre Klasse hin\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Übung 4: Magisches Quadrat (3 Punkte)\n", "\n", "Ein magisches Quadrat ist eine quadratische Matrix, für die die Summe jeder Zeile, jeder Spalte und der beiden Diagonalen denselben Wert ergibt. Implementieren Sie die Funktion ```is_magic_square``` die eine quadratische Matrix, repräsentiert als Liste von Listen entgegennimmt und ```True``` zurückgibt, falls es sich um ein Magisches Quadrat handelt. Ansonsten soll ```False``` zurückgegeben werden. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "deletable": false, "exercise_id": 4 }, "outputs": [], "source": [ "\n", "def is_magic_square(matrix):\n", " pass\n", "\n", "# Die folgenden Aufrufe sollten True ergeben\n", "# is_magic_square([[2, 7, 6], [9, 5, 1], [4, 3, 8]])\n", "# is_magic_square([[1, 1], [1, 1]])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Edit Metadata", "kernelspec": { "display_name": "Python 3.8 (standard)", "language": "python", "name": "python3.8" }, "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.8.11" }, "notebook_id": 11, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": false, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": false, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }