\documentclass[10pt,a4paper]{letter} \usepackage[usenames,dvipsnames,svgnames,table]{xcolor} \usepackage{amsmath} \usepackage{enumitem} \usepackage[margin=4.2cm]{geometry} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{relsize} \newcommand{\Hinweis}[1]{{\color{Blue} Hinweis:} #1} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} %\rhead{Wissenschaftliche IT} \rhead{Übungen} \lhead{Python Übungen für Praktikanten} %\rfoot{Page \thepage} \newcounter{AufgabeZaehler} \newcommand{\Aufgabe}[1]{\stepcounter{AufgabeZaehler}\textbf{Aufgabe \theAufgabeZaehler: #1}\\} \begin{document} %Folgende Programme schreiben und ausführen: % \Aufgabe{Python-Hallo-Welt} \begin{enumerate}[label=\textbf{\alph*)}] \item Hallo-Welt-Programm. \item Schreibe ein Programm, welches den User nach seinem Name und Geburtsjahr fragt und folgenden Text ausgibt \texttt{"Hallo NAME, du wirst dieses Jahr X Jahre alt"}. \end{enumerate} \Aufgabe{Liste, Dictionaries, Schleifen} \begin{enumerate}[label=\textbf{\alph*)}] \item Schreibe ein Programm, welches zehn Zahlen, welche vom Terminal eingegeben werden, in eine Liste packt und alle geraden Zahlen aus dieser Liste ausgibt. \Hinweis{``\textit{list comprehension}'' benutzen.} \item Schreibe ein Programm, welches die Worte eines Satzes, der im Terminal eingegeben wird, in umgekehrter Reihenfolge wieder ausgibt. \Hinweis{Benutze \texttt{[::-1]} als besondere ``\textit{extended slice syntax}''. Alternativ die \texttt{reverse}-Funktion von der Liste.} \\ {\color{Blue} Beispiel:} ``\textit{Das ist ein Haus.}'' wird zu ``\textit{Haus ein ist Das.}'' \item Schreibe ein Programm, welches alle Worte eines Satzes, der im Terminal eingegeben wird, in umgekehrter alphabetischer Ordnung ausgibt. \item Wie in der vorherigen Übung, aber Groß- und Kleinschreibung werden nicht unterschieden. \Hinweis{\texttt{sort} oder \texttt{sorted} können als ``\texttt{key=}'' Argument eine Lambda-Funktion gegeben werden \ldots} \item Schreibe ein Programm, welches ein Schlüsselwert-Verzeichnis (\textit{dictionary}) mit z.B. zehn Name => Geburtsmonate Schlüssel-Wert-Paaren enthält. Das Programm gibt die Geburtsmonate für den vom User über das Terminal gewählten Namen aus. \end{enumerate} \Aufgabe{Bedingungen} \begin{enumerate}[label=\textbf{\alph*)}] \item Schreibe ein Ratespiel: Lasse den User eine zufällig generierte Zahl zwischen 0 und 9 raten, bis der User "exit" eingibt oder er die Zahl richtig geraten hat. \end{enumerate} \Aufgabe{I/O} \begin{enumerate}[label=\textbf{\alph*)}] \item Schreibe ein Programm, das einen einen Text von einer Datei einließt und den Inhalt in eine andere Datei schreibt, nachdem es die Zeilenumbrüche (newlines) mit Leerzeichen ersetzt hat. \item Erweitere 2 d): Das Programm soll die Schlüsselwert-Paare aus einer Datei im json-Format lesen. Biete dem User an, über das Terminal andere Paar hinzuzufügen und schreibe das neue Schlüsselwert-Verzeichnis in die selbe json-Datei. \end{enumerate} \Aufgabe{Graphen, Histogrammen} \begin{enumerate}[label=\textbf{\alph*)}] \item Plotte ein Histogramm der Häufigkeit pro Monat von Geburtsdaten von der Übung oben. \end{enumerate} \Aufgabe{Funktionen} \begin{enumerate}[label=\textbf{\alph*)}] \item Schreibe ein Programm, welches ein einfaches Spielbrett zeichnet und dafür abwechselnd eine \texttt{ungerade\_Zeile}- (mit Strichen) und eine \texttt{gerade\_Zeile}- (mit vertikalen Balken) über eine Funktion erzeugt. \end{enumerate} %\Aufgabe{Klassen und Objekte} \end{document}