Reprends moi si je me trompe mais tout nombre rationnel a soit une écriture décimale finie, soit une écriture décimale périodique :
0.95 est rationnel ainsi que 0.33333333... racine(2) n'a pas une écriture périodique et donc ne l'est pas.
Je ne sais pas comment déterminer avec exactitude si un nombre est rationnel ou non mais tu peux peut être créer une fonction qui détermine si dans une chaîne de longueur données (longueur éventuellement passée en paramètre) il y a une périodicité dans les chiffres ?
C'est plus un problème mathématique que de Python et dont tu n'as pas précisé les contours. Il y a bien la classe abstraite numbers.Rational mais l'intérêt me paraît limité. En fonction de ton problème, utiliser plutôt la lib Sympy.
Mais je vois pas quels contours faut-t-il préciser ?
Ona un nombre quelconque et on veut savoir si c'est rationnel ou pas ?
En fait ,dans un exo de math on me donne un nombre compliqué (avec des racines cubiques et des fractions ..)
Et on me demande de vérifier si c'est rationnel et ils conseillent d'effecruer les calculs à l'aide de l'ordinnateur et j'ai eu l'idée de créer un programme capable de faire ceci
Ça dépend de ton entrée. Comment est donnée ton entrée. Si c'est une expression arithmétique, y a moyen de s'en sortir un peu en fonction des fonctions autorisées (genre on sait que l'exponentielle de tout rationnel non nul est irrationnel).
Ton entrée ne peut pas être juste un nombre donné par l'utilisateur sous la forme d'un entier ou d'un nombre à virgule (ou sinon ton problème est trivial et t'as juste à renvoyer True).
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères