Bonjour,
Je souhaite réaliser un programme sur les nombres triangulaires.
Le but du programme est que l'utilisateur doit donner un nombre, et le programme dit s'il est triangulaire ou pas.
Je ne souhaite pas utiliser une liste de nombre, mais la formule n(n+1)/2.
Le problème est que peut importe le nombre que je mets, il me dit toujours qu'il n'est pas triangulaire. Savez-vous où peut venir le problème?
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import math #donne la liste de tous les triangulaires entre 1 et n def triangulaires(n): return [i*(i+1)/2 for i in range(1,n+1)] #teste si un nombre est triangulaire def est_triangulaire(n): r=int(math.sqrt(2*n)) if n==r*(r+1)/2 or n==(r+1)*(r+2)/2: return True else: return False test = raw_input("Donnez un nombre pour savoir s'il est triangulaire : ") if test == est_triangulaire: print (test + " est un nombre triangulaire") if test != est_triangulaire: print (test + " n'est pas un nombre triangulaire")
Partager