Bonjour,
En python , j'aimerai créer une fonction p qui afficherai sous forme de listes la pré-période ainsi que la période du développement décimal d'un nombre rationnel. Par exemple en saisissant en entrée p(1,6) j'aurai en sortie [[1],[6]] car la développement décimal de = 0,166666666...
J'ai déjà créé une fonction qui permet de me donner la longueur de la période et de la pré-période mais je ne vois pas comment créer cette fonction p.
Bonjour mathou57124.
Utilise la division euclidienne .
Exemple : division de 87 par 7
la première division donne 87 = 7 * 12 + 3 donc ta partie entière est 12.
seconde division 30 = 7 * 4 + 2 donc ta première décimale est 4
troisième division 20 = 7 * 2 + 6 donc ta seconde décimale est 2
quatrième division 60 = ...
et ainsi de suite ...
Merci @jsvdb ! En fait ce que je ne comprends pas c'est comment disposer la pré-période dans une liste L1 et la période dans une autre liste en python
J'ai déjà commencer par écrire :
p(a,b):
q=floor(a//b)
r=a-q*b
liste1=[]
liste2=[]
Ensuite on doit :
Affecter à q la valeur E(10r/b)
Affecter à r la valeur 10r − db
Mais par exemple dans le cas de 1/6 je ne vois pas comment utiliser la fonction que j'ai déjà créé auparavant qui me donnait la longueur de la pré-période et de la période pour que les chiffres de la pré-période soient dans la liste1 et les chiffres de la période soient dans la liste2
Il s'agit d'une boucle jusqu'à l'apparition d'un reste r tel que :
r * 10 = r mod [d]
PS: pour le cas ou d < 10
D'accord merci ! Cependant j'arrive uniquement à afficher toute la suite mais comment séparer pré-période et période en deux listes distinctes
Si c'est juste une question language python, tu crées deux listes distinctes que tu remplies par la fonction append.
Si c'est une question de conception, et si ta question est comment classer une information avant de savoir si elle relève de pre-periode ou de periode, tu peux garder l'information dans des variables tampons, jusqu'à determiner la destination finale de cette information.
C'est surtout une question de conception. En fait pour 1/6 par exemple j'ai mon programme python qui m'affiche dans une seule liste [1, 6]. J'avais créé au préalable une fonction floyd(a,b) qui me retourne [1,1] qui sont les longueurs de la pré-période et de la période et j'aimerai utilisé cette fonction dans mon programme qui me permettrait d'isoler la pré-période et la période dans 2 listes distinctes mais je ne vois pas comment faire.
Comme demarche je te suggère de commencer par rédiger les specifications du programme voulu.
Et quand c'est assez complet pour le passer au codage, on passe a ' écriture en python.
**************
Si ton probleme c'est juste que tu veux placer le premier element de la liste dans une variable et l'autre dans une autre variable, tu lis les valeurs liste[0] et liste[1] et tu les mets dans deux variables differentes. Mais personnellement je te suggère de travailler avec une classe qui contient les variables (ou attributs en jargon programmation objet) a (numerateur) et b (denominateur) que tu alimentes a la creation de l'instance (methode init) ainsi que d'autres variable preperiode et periode que ton programme (une methode dans cette classe) vont alimenter.
salut,
A partir de cette remarque:
tu peux enlever tes points d'interrogation carpediem
je me désinscris , je poste ailleurs, je n'ai pas de réponse, et je reviens ici...
et je traite le même sujet mais en ouvrant un nouveau post...


Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :