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

(help) problème sur exercice Python

DindouFurieux
DindouFurieux
Niveau 3
12 mai 2020 à 21:36:13

Bonsoir à tous,

J'ai débuté le Python et je suis le cours sur Openclassroom. J'ai suivis plus précisément le cours sur la boucle WHILE (j'ai compris le principe), et j'ai compris l'exemple donné dans ce cours ou l'on cherchait à avoir toutes la table de 7 de 1x7 à 10x7.

nb = 7 # On garde la variable contenant le nombre dont on veut la table de multiplication
i = 0 # C'est notre variable compteur que nous allons incrémenter dans la boucle

while i < 10: # Tant que i est strictement inférieure à 10
    print(i + 1, "*", nb, "=", (i + 1) * nb)
    i += 1 # On incrémente i de 1 à chaque tour de boucle 

J'ai donc tenté de modifier la variable nb par une fonction input afin de laisser à l'utilisateur le choix du chiffre à utiliser. Ça paraissait simple comme modif mais apparemment non puisque les résultats obtenus sont faux..Je ne vois pas pourquoi il se passe ça. Si qqun pouvait m'aider à comprendre mon erreur :hap:

Voici mon code :

chiffre = input("saisissez un nombre :")
print("Vous avez choisis :", chiffre)


i = 0

while i < 10:
    print(i + 1, "*", chiffre, "=", (i + 1) * chiffre)
    i += 1

et le résultat :

saisissez un nombre :2
Vous avez choisis : 2
1 * 2 = 2
2 * 2 = 22
3 * 2 = 222
4 * 2 = 2222
5 * 2 = 22222
6 * 2 = 222222
7 * 2 = 2222222
8 * 2 = 22222222
9 * 2 = 222222222
10 * 2 = 2222222222

:merci:

fanof_banni
fanof_banni
Niveau 12
12 mai 2020 à 22:13:55

En général quand tu récupères un input, par défaut la valeur est une string.
En python, si tu fais 5 * "2", il va répéter 5 fois la string "2" et afficher 22222.
Tu dois convertir ta string en entier (ou nombre décimal) si tu veux l'utiliser dans un calcul.

DindouFurieux
DindouFurieux
Niveau 3
13 mai 2020 à 05:49:14

Le 12 mai 2020 à 22:13:55 fanof_banni a écrit :
En général quand tu récupères un input, par défaut la valeur est une string.
En python, si tu fais 5 * "2", il va répéter 5 fois la string "2" et afficher 22222.
Tu dois convertir ta string en entier (ou nombre décimal) si tu veux l'utiliser dans un calcul.

Merci pour ta réponse qui était la bonne. J'avais pourtant penser à cela et fait un essai mais j'avais du oublié un truc et le résultat n'étais toujours pas bon. Mais je viens de retester et cela fonctionne bien, merci à toi :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment