diff options
author | Erich Eckner <git@eckner.net> | 2023-05-14 17:55:36 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-05-14 17:55:36 +0200 |
commit | 40d7bfeae6f29099de2bd58b78d307269098276a (patch) | |
tree | ae8a73980f74a40127c1cc09b87d826d6e3eb4fd /erzeugen | |
download | Rechenmauern-40d7bfeae6f29099de2bd58b78d307269098276a.tar.xz |
Diffstat (limited to 'erzeugen')
-rwxr-xr-x | erzeugen | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/erzeugen b/erzeugen new file mode 100755 index 0000000..89e35f7 --- /dev/null +++ b/erzeugen @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +import random +import sys + +Hoehe = int(sys.argv[1]) +Minimum = int(sys.argv[2]) +Maximum = int(sys.argv[3]) + +Zeile = [random.randrange(Minimum,Maximum+1) for i in range(Hoehe)] +Zahlen = [] + +while len(Zeile)>0: + Zahlen += Zeile + Zeile = [Zeile[i]+Zeile[i+1] for i in range(len(Zeile)-1)] + +Zahlen.sort() + +for Zahl in Zahlen: + print("{}".format(Zahl), end=' ') +print("") + +Boxhalbbreite = 4 +Boxhoehe = 2 + +def unterBoden(Anzahl): + ein_Boden = "_".join(["" for i in range(2*Boxhalbbreite+2)]) + return "|" + (ein_Boden + "|").join(["" for i in range(Anzahl+1)]) + +def zwischenBoden(Anzahl): + ein_halber_Boden = "_".join(["" for i in range(Boxhalbbreite+1)]) + return (ein_halber_Boden + "|" + ein_halber_Boden).join(["_" for i in range(Anzahl+1)]) + +def Wand(Anzahl): + ein_Boden = " ".join(["" for i in range(2*Boxhalbbreite+2)]) + return "|" + (ein_Boden + "|").join(["" for i in range(Anzahl+1)]) + +def Einrueckung(Anzahl): + return " ".join(["" for i in range((Boxhalbbreite+1)*Anzahl+1)]) + +def Deckel(): + return "_".join(["" for i in range(2*Boxhalbbreite+4)]) + +print(Einrueckung(Hoehe-1) + Deckel()) +for i in range(Hoehe-1): + for j in range(Boxhoehe): + print(Einrueckung(Hoehe-1-i) + Wand(i+1)) + print(Einrueckung(Hoehe-2-i) + zwischenBoden(i+2)) +for j in range(Boxhoehe): + print(Wand(Hoehe)) +print(unterBoden(Hoehe)) |