CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PROGRAMMATION] Comment décomposer un nombre en chiffres dans Python svp

FinalForm
FinalForm
Niveau 12
05 octobre 2016 à 03:33:21

Svp les kheys comment je détermine les chiffres d'un entier n dans Python svp j'ai mis 3h pour faire 2/8 programmes quand les 8 sont faits pour être faits en tp de 2 heures :) en plus on m'a aidé pour les deux :)

TsarChamois1er
TsarChamois1er
Niveau 10
05 octobre 2016 à 03:35:02

Ben 16 c'est 16/10 + 16 % 6

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:37:30

decomposition = str(123456)

Les chaines de caractères fonctionnent comme des tableaux.

$ decomposition[0]

1

$for i in decomposition :
$     print i

1
2
3
4
5
6

Message édité le 05 octobre 2016 à 03:38:57 par Pseudo supprimé
FinalForm
FinalForm
Niveau 12
05 octobre 2016 à 03:40:24

KHEY TON PROGRAMME MARCHE

STP EXPLIQUE COMMENT T AS FAIT

CIMER CHEF

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:41:42

Tu transformes un nombre en chaine de caractères en utilisant la fonction str()

Ensuite si tu sais accéder aux éléments d'un tableau tu peux accéder aux éléments d'une chaine de caractères de la même manière.

LeParapentiste
LeParapentiste
Niveau 6
05 octobre 2016 à 03:44:24

Python https://image.noelshack.com/fichiers/2016/26/1467335935-jesus1.png
nbr.to_s > all

FinalForm
FinalForm
Niveau 12
05 octobre 2016 à 03:46:55

je connais pas les tableaux :hap:

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:47:41

Le 05 octobre 2016 à 03:46:55 FinalForm a écrit :
je connais pas les tableaux :hap:

Tu connais rien en fait :hap:

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:49:35

Le 05 octobre 2016 à 03:44:24 LeParapentiste a écrit :
Python https://image.noelshack.com/fichiers/2016/26/1467335935-jesus1.png
nbr.to_s > all

Ruby https://image.noelshack.com/fichiers/2016/26/1467335935-jesus1.png
show nbr :oui:

Haskell pour la vraie élite :cool:

Mimsy
Mimsy
Niveau 9
05 octobre 2016 à 03:50:16

surchanter
05 octobre 2016 à 03:37:30
decomposition = str(123456)

Les chaines de caractères fonctionnent comme des tableaux.

$ decomposition[0]

1

$for i in decomposition :
$ print i

1
2
3
4
5
6

:d) Je connais pas le python précisément mais je pense pas que ce soit le genre de réponses que le prof de l'auteur attende.

Tu fais des opérations coûteuses en passant par une string, ça renvoie un tableau de caractères qu'il faut encore convertir en entiers...

Je crois plutôt que la correction attendue c'est une simple itération ou récursion sur le nombre que tu divises par 10 à chaque étape.

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:51:38

Le 05 octobre 2016 à 03:50:16 Mimsy a écrit :
surchanter
05 octobre 2016 à 03:37:30
decomposition = str(123456)

Les chaines de caractères fonctionnent comme des tableaux.

$ decomposition[0]

1

$for i in decomposition :
$ print i

1
2
3
4
5
6

:d) Je connais pas le python précisément mais je pense pas que ce soit le genre de réponses que le prof de l'auteur attende.

Tu fais des opérations coûteuses en passant par une string, ça renvoie un tableau de caractères qu'il faut encore convertir en entiers...

Je crois plutôt que la correction attendue c'est une simple itération ou récursion sur le nombre que tu divises par 10 à chaque étape.

Tu as raison :oui:

FinalForm
FinalForm
Niveau 12
05 octobre 2016 à 03:51:45

je suis vraiment débutant :hap:

par contre je sais pas ce que c'est une récursion en fait un modèle ça serait cool pour trouver les chiffres avec la div par 10 ça serait cool j'arrive plus à réfléchir là j'en ai assez svp les kheys

SexyFraise
SexyFraise
Niveau 9
05 octobre 2016 à 03:52:21

Bite 1 https://image.noelshack.com/fichiers/2016/24/1466366209-risitas24.png

Mimsy
Mimsy
Niveau 9
05 octobre 2016 à 03:57:33

Une récursion c'est quand une méthode s'appelle elle-même dans son code.
En français ça donne quoi ?
Exemple : Pour compter jusqu'à 10, comment tu fais ?
Tu pars de 1 (ton argument de base), et tu rappelles une méthode mentale qui ajoute 1 à son paramètre, tant que tu n'arrives pas à 10 (le cas d'arrêt).

Ben là c'est un peu pareil.
Il faudrait faire un truc du genre
Numbers(entier n) :
Si n < 10
Affiche n
Sinon
Numbers(n divisé par 10)
Affiche n modulo 10

Mais ça les affiche à l'envers, j'ai du mal à trouver un moyen de retourner le résultat sans liste vu l'heure. :hap:

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 03:58:36

Le 05 octobre 2016 à 03:51:45 FinalForm a écrit :
je suis vraiment débutant :hap:

par contre je sais pas ce que c'est une récursion en fait un modèle ça serait cool pour trouver les chiffres avec la div par 10 ça serait cool j'arrive plus à réfléchir là j'en ai assez svp les kheys

Comme ils t'ont expliqué plus haut tu dois utiliser une division entière, dont le reste t'es donné par %

Faisons la division entière de 16 par 10.

C'est 1, reste 6.
Car 16 = 1 x 10 + 6

Oh comme par hasard le reste est le dernier chiffre du nombre :ouch2:

Alors imaginons un nombre 123456

123456 % 10 = 6.

Tu veux maintenant te débarrasser du 6:
123456 / 10 = 12345.6
Mais tu ne veux que la partie entière.... Eh bien c'est simple, la division entière c'est l'opérateur //
123456 // 10 = 12345

On recommence :
12345 % 10 = 5
12345 // 10 = 1234

Ainsi de suite :oui:

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 04:03:18

Maintenant pour la récursion:

Imagine une fonction qui affiche le dernier chiffre d'un nombre.

Appellons la dernier()

$dernier (123456)
6

Comment voudrais-tu transformer dernier() pour que ça affiche tous les chiffres d'un nombre (en partant de la fin) ?
En appelant dernier sur 123456 // 10 , qui est 12345.

def dernier(nombre) :
    CODE DE DERNIER
    nombrePlusPetit = nombre // 10
    dernier(nombrePlusPetit) :bave:

Bien sûr tu ne devras pas appeler dernier quand il n'y aura plus de chiffres disponibles.

Message édité le 05 octobre 2016 à 04:05:30 par Pseudo supprimé
TrapAFromage
TrapAFromage
Niveau 8
05 octobre 2016 à 04:06:21

Python :rire:
Coder en Whitespace sur le Bloc-Notes :ok:

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 04:07:14

Le 05 octobre 2016 à 04:06:21 TrapAFromage a écrit :
Python :rire:
Coder en Whitespace sur le Bloc-Notes :ok:

On attend ton serveur web codé en whitespace :noel:

HaPandora
HaPandora
Niveau 10
05 octobre 2016 à 04:14:20

while nombre:
chiffre = nombre% 10

# fait ce que tu veux ici

nombre//= 10

De rien.

Pseudo supprimé
Pseudo supprimé 05 octobre 2016 à 04:16:35

Le 05 octobre 2016 à 04:14:20 HaPandora a écrit :
while nombre:
chiffre = nombre% 10

# fait ce que tu veux ici

nombre//= 10

De rien.

Fonctionnel mais une horreur quand on vient de la programmation fonctionnelle :snif2:

Sous forums
  • Religion
La vidéo du moment