Python :: Aufgabe #81

4 Lösungen Lösungen öffentlich

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

Lösungen:

vote_ok
von jigga (4260 Punkte) - 07.06.2015 um 14:21 Uhr
Quellcode ausblenden Python-Code
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)))
vote_ok
von eska (130 Punkte) - 08.07.2015 um 14:18 Uhr
Quellcode ausblenden Python-Code
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)
vote_ok
von Veigar (1120 Punkte) - 16.12.2015 um 22:00 Uhr
Quellcode ausblenden Python-Code
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])
    
vote_ok
von 0 (0 Punkte) - 23.09.2017 um 13:00 Uhr
Quellcode ausblenden Python-Code
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
        
2092542

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.