Python :: Aufgabe #81
4 Lösungen

Erstellung Pascalsches Dreieck
Anfänger - Python
von BlackBird321
- 04.06.2015 um 22:43 Uhr
Schreibe ein Programm, welches das Pascalsches Dreieckwiedergibt.
Das Programm soll die Anzahl der Reihen entgegennehmen und dementsprechend widergeben (Nur halt ohne die Punkte :o)).
Beispiel für 5 Reihen:
....1
...11
..121
.1331
14641
Das Programm soll die Anzahl der Reihen entgegennehmen und dementsprechend widergeben (Nur halt ohne die Punkte :o)).
Beispiel für 5 Reihen:
....1
...11
..121
.1331
14641
Lösungen:

liste = [[1]] liste_2 = [] zaehler = 0 zeilen = int(input("Anzahl Zeilen: ")) while zaehler != zeilen: for i in range(zeilen-1): for j in range(len(liste[i])+1): if j >= 1 and j <= len(liste[i])-1: zahl = liste[i][j-1] + liste[i][j] liste_2.append(zahl) else: liste_2.append(1) if liste_2 not in liste: liste.append(liste_2) liste_2 = [] zaehler += 1 groesstes_element = len(str(max(liste[-1]))) letzte_zeile = ' '.join([str(eintrag).center(groesstes_element) for eintrag in liste[-1]]) for i in liste: print(' '.join([str(eintrag).center(groesstes_element) for eintrag in i]).center(len(letzte_zeile)))

n = int(raw_input("Wie viele Zeilen soll das Dreieck haben? Zeilen: ")) def pascal(zeile, spalte): if spalte == 1 or zeile == 1: return 1 if spalte >= zeile: return 0 else: result = pascal(zeile-1, spalte-1) + pascal(zeile-1, spalte) return result for zeile in range(1, n+2): ausgabe = '' for spalte in range(1, zeile): ausgabe = ausgabe + ' ' + str(pascal(zeile, spalte)) + ' ' print(ausgabe)

m=[[0,1,0]] k=[] a=input("wie viele zeilen") for i in range(int(a)-1): m.append([]) m[-1].append(0) for s in range(len(m[-2])-1): m[-1].append(m[-2][s]+m[-2][s+1]) print(m[-2][s],m[-2][s+1],m[-2],s) m[-1].append(0) for p in range(len(m)): l="" for w in range(len(m[p])-2): l=l+" " l=l+str(m[p][w+1]) k.append(l) for a in range(len(k)): print(int((len(k)-a))*" ",k[a])

e=int(input('Zeilenanzahl: ')) print('1'.center(4*e)) n=2 L=[1,1] ausgabe='' for i in L: ausgabe+=str(i)+' ' print(ausgabe.center(4*e)) while n<e: N=[] N.append(1) for i in range(n-1): N.append(L[i]+L[i+1]) N.append(1) ausgabe='' for i in N: ausgabe+=str(i)+' ' print(ausgabe.center(4*e)) n+=1 L=N