Skip to content

Commit 5ac34b8

Browse files
committed
ggT: negative Zahlen jetzt richtig™
1 parent 0dc9adb commit 5ac34b8

9 files changed

Lines changed: 295 additions & 6 deletions

File tree

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/pythonfooLite.iml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 228 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Level_02/if.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
if boolean3:
1515
print(True)
1616

17-
1817
# if-Bedingung mit else-Zweig:
1918
summertime = True
2019

Level_03/ggT.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@
99
a = int(input("erste Zahl eingeben: "))
1010
b = int(input("zweite Zahl eingeben: "))
1111

12+
# Beide Zahlen sollten positiv sein.
13+
# Wir nehmen einfach den Betrag.
14+
a = abs(a)
15+
b = abs(b)
16+
1217
# a soll größer sein als b.
1318
# Falls das nicht bereits der Fall ist,
1419
# tauschen wir die beiden einfach.
1520
if b > a:
1621
a, b = b, a
1722

18-
# Beide Zahlen sollten positiv sein.
19-
# Wir nehmen einfach den Betrag.
20-
a = abs(a)
21-
b = abs(b)
22-
2323
# Wenn b Null ist, sind wir fertig und a ist der ggT.
2424
# Ansonsten müssen wir (nochmal) rechnen.
2525
while b != 0:

Level_06/linalg/gruppen.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from abc import ABC, abstractmethod
2+
from typing import Optional
3+
4+
class Gruppe(ABC):
5+
neutral = None # type: Optional[Gruppe]
6+
7+
@abstractmethod
8+
def __init__(self, value: "Gruppe") -> None:
9+
pass
10+
11+
@abstractmethod
12+
def __mul__(self, other: "Gruppe") -> "Gruppe":
13+
pass
14+
15+
@abstractmethod
16+
def __inv__(self) -> "Gruppe":
17+
pass
18+
19+
class Z_plus(Gruppe):
20+
neutral = Z_plus(0)
21+
22+
def __init__(self, value: int) -> None:
23+
assert isinstance(value, int)
24+
self.value = value
25+
26+
def __mul__(self, other: Z_plus) -> Z_plus:
27+
assert isinstance(other, Z_plus)
28+
return Z_plus(self.value + other.value)
29+
30+
def __inv__(self) -> Z_plus:
31+
return Z_plus(-self.value)

wiki

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../pythonfooLite.wiki

0 commit comments

Comments
 (0)