Besoin d'aide pour un petit programme Python.

cloclo816

Besoin d'aide pour un petit programme Python.

Message par cloclo816 » 14 oct. 2015 21:26

Bonsoir à tous,
Alors voilà étant actuellement en PCSI et littéralement débutante en informatique, j'aurais besoin d'une petite aide pour établir ce programme.
Il s'agit de créer une fonction qui recevant un entier naturel non nul, affiche ses chiffres l'un après l'autre, en commençant par celui des unités.
J'ai trouvé qu'il fallait utiliser la division euclidienne par 10 pour trouver les unités. Mais j'essaye de trouver un moyen de trouver le nombre de chiffre de l'entier. Il faut également que je fasse une boucle "tant que", pour que je le réalise jusqu'à ce que le reste soit égal à 0.

Est ce correct ? Et pourriez vous le donner des pistes si ce n'est pas le cas ...
Merci à vous, et bonne soirée...

Charo

Re: Besoin d'aide pour un petit programme Python.

Message par Charo » 14 oct. 2015 22:50

Pourquoi trouver le nombre de chiffres ?

La condition d'arrêt de ta boucle n'est pas bonne : le reste de la division euclidienne de 1000 par 10 est bien 0 par exemple, ce qui fait que tu n'entrerais jamais dans ta boucle. Mais c'est bien d'avoir pensé à une boucle while.

Quelques rappels :
- a % b te donne le reste de la division euclidienne de a par b. a % 10 te donne donc bien le dernier chiffre de a.
- a // b effectue la "division entière" de a par b. Par exemple, 12345 // 10 te renvoie 1234.

Je te donne une solution en spoiler (si tu veux réfléchir avant de regarder).
SPOILER:
On peut donc imaginer l'algorithme suivant : tu prends le nombre en entrée dans une variable a. Tu boucles tant que a ne vaut pas 0 (elle sera donc modifié au cours de la boucle). Tu récupères son dernier chiffre et tu l'affiches. Tu effectues la division entière de a par 10 que tu stockes dans a.
Pour le nombre de chiffres, il suffit de compter le nombre de fois qu'on est entré dans la boucle.

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Besoin d'aide pour un petit programme Python.

Message par fakbill » 15 oct. 2015 00:34

cloclo816 : écrit clairement l'algo que tu as en tête et ***fais le tourner à la main avec un papier et un crayon sur un exemple simple comme 1234. Si ça ne donne pas exactement ce que tu veux alors tu corriges ton algo et tu fais tout retourner depuis le début.
SPOILER:
Un truc du genre:
def f(x):
[print(elem) for elem in list(str(x))[::-1]]
n'est PAS la réponse attendue :wink:
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.


Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Besoin d'aide pour un petit programme Python.

Message par fakbill » 15 oct. 2015 13:01

oui mais bon ce n'est pas dans l'esprit du truc....
def f(x):
[print(elem) for elem in list(str(x))[::-1]]
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

cloclo816

Re: Besoin d'aide pour un petit programme Python.

Message par cloclo816 » 15 oct. 2015 14:08

Merci Charo je vais essayer avant de regarder ton lien :)
Merci du conseil Corderaide mais ce n'est pas dans l'esprit de ce que demande mon prof, et il me semble ne pas encore avoir vu ces notions :)
Merci de vos réponses !

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Besoin d'aide pour un petit programme Python.

Message par fakbill » 15 oct. 2015 14:14

bon donc ca donne quoi ce code? on peut voir?
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

abouMPSI

Re: Besoin d'aide pour un petit programme Python.

Message par abouMPSI » 15 oct. 2015 14:16

cloclo816 a écrit :ce que demande mon prof
Cf : l'énoncé exact du problème...

cloclo816

Re: Besoin d'aide pour un petit programme Python.

Message par cloclo816 » 15 oct. 2015 15:23

abouMPSI a écrit :
cloclo816 a écrit :ce que demande mon prof
Cf : l'énoncé exact du problème...
Oui, c'est bien ce que je cite dans mon sujet : "Il s'agit de créer une fonction qui recevant un entier naturel non nul, affiche ses chiffres l'un après l'autre, en commençant par celui des unités" .. Mais il m'a conseillé la division euclidienne par 10.
Dernière modification par cloclo816 le 15 oct. 2015 15:49, modifié 1 fois.

cloclo816

Re: Besoin d'aide pour un petit programme Python.

Message par cloclo816 » 15 oct. 2015 15:23

fakbill a écrit :bon donc ca donne quoi ce code? on peut voir?
Je suis en train d'essayer de le programmer justement ...

Répondre