summaryrefslogtreecommitdiff
path: root/erzeugen
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2023-05-14 17:55:36 +0200
committerErich Eckner <git@eckner.net>2023-05-14 17:55:36 +0200
commit40d7bfeae6f29099de2bd58b78d307269098276a (patch)
treeae8a73980f74a40127c1cc09b87d826d6e3eb4fd /erzeugen
downloadRechenmauern-40d7bfeae6f29099de2bd58b78d307269098276a.tar.xz
initial commitHEADmaster
Diffstat (limited to 'erzeugen')
-rwxr-xr-xerzeugen51
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))