just for fun ...
Code: Alles auswählen
for i in [1,2,3,4,5,6,5,4,3,2,1]:
for j in range(1, i):
print(f'{j} ', end='')
print()
just for fun ...
Code: Alles auswählen
for i in [1,2,3,4,5,6,5,4,3,2,1]:
for j in range(1, i):
print(f'{j} ', end='')
print()
Immerhin; mir bleiben alle Punkte verwehrt, weil die Schleifen ganz fehlen (dabei habe ich das damals mal so mit Pascal in der Schule gelernt, blöd) ...
Code: Alles auswählen
In [1]: def pyramid(x=1, treshold=5):
...: print(*range(1, x+1))
...: if x >= treshold:
...: return
...: else:
...: pyramid(x+1, treshold)
...: print(*range(1, x+1))
...:
In [2]: pyramid()
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
Code: Alles auswählen
def pyramid(n, limit):
print(*range(1, n + 1))
if n < limit:
pyramid(n + 1, limit)
print(*range(1, n + 1))
if __name__ == '__main__':
pyramid(1, 5)
Code: Alles auswählen
from itertools import chain
def pyramid(n):
for i in chain(range(1, n + 1), reversed(range(1, n))):
print(*range(1, i + 1))
if __name__ == '__main__':
pyramid(5)
Stimmt Wobei am naheliegendsten natürlich dc wäre; geht sogar als "One-Liner":
Code: Alles auswählen
$ dc -e '0si5sx[li1+ddsj0sklbx[ ]pStsilx>a]sa[lk1+ddskn[ ]nlj>b]sb[li1-ddsj0sklbx[ ]pStsi1<c]sclaxlxsilcx'
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
Code: Alles auswählen
#!/bin/sh
readonly MaxValue=5
for i in $(seq 1 $((MaxValue * 2)))
do
j=$((i - MaxValue))
seq -s' ' 1 $((MaxValue - ((j < 0) ? -j : j)))
done
Code: Alles auswählen
#!/usr/bin/env coffee
printPyramid = (n) ->
console.log [1..n - Math.abs i - n].join ' ' for i in [1...n * 2]
null
main = -> printPyramid 5
main() if require.main == module