Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithmique

Posté par
Ananasporto
28-10-19 à 12:13

Bonjour, je ne comprends pas cette question :
Programmer la fonction test_multiple et préciser si 1 302 est un diviseur de 29 946.
Et j'ai cette donnée :
def test_multiple(a,b):
         N=b
         while N<a:
                 N=N+b
         if N==a:
                 print("a est un multiple de b")
         else:
                  print("a n'est pas un multiple de b")

Mais quand j'exécute ce programme, ça ne fonctionne pas. Et même si ça fonctionnait, ça donnerait si c'est un multiple alors que la question demande si c'est un diviseur. Merci de m'aider.

Posté par
pgeod
re : Algorithmique 28-10-19 à 12:54

dire que " 1 302 est un diviseur de 29 946 "
est la même chose que dire : 29 946 est un multiple de 1302.

Posté par
mathafou Moderateur
re : Algorithmique 28-10-19 à 12:54

Bonjour,

"1 302 est un diviseur de 29 946". est totalement équivalent à "29946 est un multiple de 1302" !!!


"ça ne fonctionne pas"
tu parles d'une info précise !!
un copier coller direct depuis ton message dans Python fonctionne très bien chez moi !!
il faut bien entendu, après avoir lancé le programme, appeler la fonction ainsi définie en tapant
test_multiple( les deux valeurs )
dans la console Python !!

défaut de ce programme : il dit textuellement "a est ou n'est pas un multiple de b" et non pas les valeurs de a et de b qui sont ou pas multiple
de sorte que c'est à l'utilisateur du programme de deviner !
ne pas confondre dans un print la valeur de la variable a et le texte qui représente son nom !

Posté par
Ananasporto
re : Algorithmique 28-10-19 à 13:45

Je le savais mais j'avais un doute sur les multiples/diviseurs

Et tu/vous as forcément ajouté des informations sur le programme de base que j'ai envoyé et c'est justement ça que je ne comprends pas (je ne sais pas quoi ajouter pour que le programme demande la valeur de a et b)

Posté par
mathafou Moderateur
re : Algorithmique 28-10-19 à 13:52

il ne demande pas
il ne fait que uniquement définir une fonction

c'est à toi de prendre l'initiative de lui taper explicitement dans la console une utilisation (on dit un appel), de cette fonction en tapant explicitement
test_multiple( les deux valeurs ) comme déja dit

par exemple :
*** Console de processus distant Réinitialisée ***
>>>
>>> test_multiple(25,5)
a est un multiple de b
>>> test_multiple(31,3)
a n'est pas un multiple de b
>>>

Posté par
Ananasporto
re : Algorithmique 30-10-19 à 14:18

Oui mais ce que je veut savoir c'est comment tu/vous a fait pour avoir ça :
>>> test_multiple(25,5)
a est un multiple de b
>>> test_multiple(31,3)
a n'est pas un multiple de b
>>>
(Tu/vous a rajouté quoi à mon programme de base?)

Posté par
mathafou Moderateur
re : Algorithmique 30-10-19 à 15:59

rien du tout dans le prohramme
j'ai tapé ça dans la console Python

ici sur EduPython, mais dans tous les environnements de développement Python il y a une telle console :

Algorithmique



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1510 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !