Skip to content
Snippets Groups Projects
Commit 45a3991c authored by Roman Fuchs's avatar Roman Fuchs
Browse files

init

parent 7433838d
Branches master
No related tags found
No related merge requests found
\documentclass{report}
\usepackage[english,ngerman]{babel}
\usepackage{amsmath, amssymb}
\usepackage{framed}
\usepackage{url}
\usepackage{listings}
\title{Analysis 1 für Informatiker -- Python}
\author{Roman Fuchs}
\begin{document}
\maketitle
\tableofcontents
\input{Mengen}
\chapter{??}
\input{Trigonometrie}
\end{document}
\chapter{Mengen}
\section{Mengen in Mathematik}
Operationen:
\[
A \cap B, \quad
A \cup B, \quad
A \setminus B
\]
\section{Mengen in Python}
Mengen (engl.: Set) gehören zu den grundlegenden Datentypen in Python.
Quelle: \url{https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset}
\begin{framed}
A set object is an unordered collection of distinct (\ldots) objects. Common uses include membership testing, removing duplicates from a sequence, and computing mathematical operations such as intersection, union, difference, and symmetric difference. (\ldots)
Like other collections, sets support \verb!x in set!, \verb!len(set)!, and \verb!for x in set!. Being an unordered collection, sets do not record element position or order of insertion. Accordingly, sets do not support indexing, slicing, or other sequence-like behavior.
There are currently two built-in set types, \verb!set! and \verb!frozenset!. The set type is mutable — the contents can be changed using methods like \verb!add()! and \verb!remove()!. Since it is mutable, it has no hash value and cannot be used as either a dictionary key or as an element of another set. The frozenset type is immutable and hashable — its contents cannot be altered after it is created; it can therefore be used as a dictionary key or as an element of another set.
Non-empty sets (not frozensets) can be created by placing a comma-separated list of elements within braces, for example: \verb!{'jack', 'sjoerd'}!, in addition to the set constructor.
\end{framed}
Instances of \verb!set! and \verb!frozenset! provide the following operations:
\begin{tabular}{lp{10cm]}
\hline
set([iterable]) &
Constructor \\
\hline
len(s) &
Return the number of elements in set s (cardinality of s). \\
\hline
x in s &
Test x for membership in s. \\
\hline
x not in s &
Test x for non-membership in s. \\
isdisjoint(other) &
Return True if the set has no elements in common with other. Sets are disjoint if and only if their intersection is the empty set. \\
\hline
issubset(other) \newline
set <= other &
Test whether every element in the set is in other. \\
\hline
set < other &
Test whether the set is a proper subset of other, that is, set <= other and set != other. \\
\hline
issuperset(other) \newline
set >= other &
Test whether every element in other is in the set. \\
\hline
set > other &
Test whether the set is a proper superset of other, that is, set >= other and set != other. \\
\hline
union(*others) \newline
set | other | ... &
Return a new set with elements from the set and all others. \\
\hline
intersection(*others) \newline
set \& other \& ... &
Return a new set with elements common to the set and all others. \\
\hline
difference(*others) \newline
set - other - ... &
Return a new set with elements in the set that are not in the others. \\
\hline
symmetric_difference(other) \newline
set ^ other &
Return a new set with elements in either the set or other but not both. \\
\hline
copy() &
Return a shallow copy of the set. \\
\hline
%Note, the non-operator versions of union(), intersection(), difference(), and symmetric_difference(), issubset(), and issuperset() methods will accept any iterable as an argument. In contrast, their operator based counterparts require their arguments to be sets. This precludes error-prone constructions like set('abc') & 'cbs' in favor of the more readable set('abc').intersection('cbs').
%
%Both set and frozenset support set to set comparisons. Two sets are equal if and only if every element of each set is contained in the other (each is a subset of the other). A set is less than another set if and only if the first set is a proper subset of the second set (is a subset, but is not equal). A set is greater than another set if and only if the first set is a proper superset of the second set (is a superset, but is not equal).
%
%Instances of set are compared to instances of frozenset based on their members. For example, set('abc') == frozenset('abc') returns True and so does set('abc') in set([frozenset('abc')]).
%
%The subset and equality comparisons do not generalize to a total ordering function. For example, any two nonempty disjoint sets are not equal and are not subsets of each other, so all of the following return False: a<b, a==b, or a>b.
%
%Since sets only define partial ordering (subset relationships), the output of the list.sort() method is undefined for lists of sets.
%
%Set elements, like dictionary keys, must be hashable.
%
%Binary operations that mix set instances with frozenset return the type of the first operand. For example: frozenset('ab') | set('bc') returns an instance of frozenset.
&
The following table lists operations available for set that do not apply to immutable instances of frozenset: \\
\hline
update(*others) \newline
set |= other | ... &
Update the set, adding elements from all others. \\
\hline
intersection_update(*others) \newline
set \&= other \& ... &
Update the set, keeping only elements found in it and all others. \\
\hline
difference_update(*others) \newline
set -= other | ... &
Update the set, removing elements found in others. \\
\hline
symmetric_difference_update(other) \newline
set ^= other &
Update the set, keeping only elements found in either set, but not in both. \\
\hline
add(elem) &
Add element elem to the set. \\
\hline
remove(elem) &
Remove element elem from the set. Raises KeyError if elem is not contained in the set. \\
\hline
discard(elem) &
Remove element elem from the set if it is present. \\
\hline
pop() &
Remove and return an arbitrary element from the set. Raises KeyError if the set is empty. \\
\hline
clear() &
Remove all elements from the set. \\
\hline
&
Note, the non-operator versions of the update(), intersection_update(), difference_update(), and symmetric_difference_update() methods will accept any iterable as an argument. \\
\hline
&
Note, the elem argument to the __contains__(), remove(), and discard() methods may be a set. To support searching for an equivalent frozenset, a temporary one is created from elem. \\
\hline
\end{tabular}
\section{Fragen}
\begin{enumerate}
\item
Welchen mathematischen Rechenoperationen entsprechen die folgenden Codezeilen?
\item
Bei welchen der Funktionen hat der Rückgabewert der Python-Funktion dieselbe Bedeutung
wie in der Mathematik?
\item
Welche der Rechenoperationen haben in der Mathematik streng genommen eine andere Bedeutung?
\end{enumerate}
\begin{lstlisting}
(...)
\end{lstlisting}
\chapter{Trigonometrische Funktionen}
\todo[inline]{Befehl für $\sin(\SI{90}{\degree})$ in Python?}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment