Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 17-12-2023 20:36:06
- pentium mix
- Membre
- Inscription : 27-10-2020
- Messages : 161
generate a pascal triangle well
bonsoir tout le monde, je souhaite générer le triangle de pascal tel qu'il est dans les livres mais ne sais comment faire pour ne plus afficher les 0 et puis je ne veux pas aussi travailler avec des listes
mon programme
def TriangleDePascal(n):
T=np.eye(n, dtype=int) ## matrice identité
for i in range(n):
T[i,0]=1 # remplir la première colonne
for i in range(2,n):
for j in range (1,i):
T[i,j]=T[i-1,j-1]+T[i-1,j]
for elt in T:
print(*elt, sep=" ")
Dernière modification par pentium mix (17-12-2023 20:42:59)
Hors ligne
#2 17-12-2023 21:27:31
- Fred
- Administrateur
- Inscription : 26-09-2005
- Messages : 7 348
Re : generate a pascal triangle well
Bonsoir,
Je n'ai pas compris si tu voulais ou si tu ne voulais pas utiliser de liste, mais en tout cas, en partant d'un tableau, sauf à changer la façon d'afficher à la fin, tu auras toujours des zéros. Voici une solution qui fonctionne avec des listes.
def TriangleDePascal(n):
T=[]
for i in range(n):
T.append([1])
for i in range(2,n):
for j in range (1,i-1):
T[i].append(T[i-1][j-1]+T[i-1][j])
T[i].append(1)
for i in range(n):
print(*T[i],' ')
En ligne
#3 18-12-2023 04:47:23
- pentium mix
- Membre
- Inscription : 27-10-2020
- Messages : 161
Re : generate a pascal triangle well
Bonjour
Merci beaucoup
Voici une idée qui m'est venu en tète actuellement: utiliser des dataframes,
import pandas as pd
def TriangleDePascal(n):
T=np.eye(n, dtype=int)
for i in range(n):
T[i,0]=1
for i in range(2,n):
for j in range (1,i):
T[i,j]=T[i-1,j-1]+T[i-1,j]
return T
n=int(input("n="))
df = pd.DataFrame(T)
df[df == 0] = "" # remplace toutes les valeurs 0 par du vide
print(df)
Bonsoir,
Je n'ai pas compris si tu voulais ou si tu ne voulais pas utiliser de liste, mais en tout cas, en partant d'un tableau, sauf à changer la façon d'afficher à la fin, tu auras toujours des zéros. Voici une solution qui fonctionne avec des listes.
def TriangleDePascal(n):
T=[]
for i in range(n):
T.append([1])
for i in range(2,n):
for j in range (1,i-1):
T[i].append(T[i-1][j-1]+T[i-1][j])
T[i].append(1)
for i in range(n):
print(*T[i],' ')
Dernière modification par pentium mix (18-12-2023 05:25:24)
Hors ligne
Pages : 1







