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

[Python] Erreur syntaxe...

tybert
tybert
Niveau 3
02 juillet 2015 à 15:19:51

Salut! :)

Je débute dans la programmation sur python, et j'ai voulu faire un programme qui calcule la somme des chiffres contenus dans un nombres. Voici mon programme :

a = input("Saisir un nombre : ")
print(a)
k = 0
b = 10

while b**k <= a:
k+=1

chiffres=[]

for i in range(0,k,1):
x = int(a / 10**(k-i-1))
l = len(chiffres)
print("x = ",x)
g = 0
S = 0
while g < l:
S += (chiffres[g]*10**(l-g)
g += 1

x = x - S
chiffres.append(x)

l = len(chiffres)
somme = 0
while c < l:
somme += chiffres[c]
c +=1

print("La somme des chiffres du nombre : ",a," = ",c)

Mais quand je teste, j'obtiens une erreur de syntaxe à la ligne : g+=1
(Syntax error : invalid syntax). Mais impossible de trouver pourquoi, je ne comprends pas vraiment :(

Du coup, si vous pouviez m'éclairer j'apprécierais, merci!

Darkandgel
Darkandgel
Niveau 10
02 juillet 2015 à 15:25:09

Il te manque une parenthese fermante la :

S += (chiffres[g]*10**(l-g)

Marchera mieux comme ça :

S += (chiffres[g]*10**(l-g))
tybert
tybert
Niveau 3
02 juillet 2015 à 15:33:27

Ah super merci!
Ca fonctionne pas encore, mais je devrais me débrouiller pour trouver ce qui bloque maintenant :ok:

EDIT: Voilà c'est bon!

a = int(input("Saisir un nombre : "))
print(a)
k = 0
b = 10

while b**k <= a:
k+=1

chiffres=[]

for i in range(0,k,1):
x = int(a / 10**(k-i-1))
l = len(chiffres)

g = 0
S = 0
while g < l:
S += (chiffres[g]*10**(l-g))
g += 1

x = x - S
print("x = ",x)
chiffres.append(x)

l = len(chiffres)
c = 0
Somme = 0
while c < l:
Somme += chiffres[c]
c +=1

print("La somme des chiffres du nombre : ",a," = ",Somme)

:ok:

Message édité le 02 juillet 2015 à 15:38:17 par tybert
tybert
tybert
Niveau 3
02 juillet 2015 à 15:42:24

Ah finalement non, ça ne fonctionne plus avec des très grands nombres ... :(

Darkandgel
Darkandgel
Niveau 10
02 juillet 2015 à 15:52:05

Deja je vais te donner un conseil : donne des noms significatifs a tes variables.
La je relis ton code, je vois a, b, k, ce n'est absolument pas parlant

tybert
tybert
Niveau 3
02 juillet 2015 à 16:23:44

Oui c'est clair, ça doit pas être évident à suivre j'imagine!

tybert
tybert
Niveau 3
02 juillet 2015 à 22:37:14

Le 02 juillet 2015 à 19:53:43 CitroenDSKatre a écrit :
for n in str(nombre): somme += int(n)

Avec nombre le nombre que tu entres et somme la somme ... :hap: :ok:

Transformer un nombre en chaîne de caractères voire en liste dans certains cas est assez pratique justement si tu veux dissocier chaque chiffre, ça peut avoir des applications comme trouver les anagrammes d'un nombre etc.

Ouais je sais aucun rapport avec la question originale, mais vu que c'était résolu... :hap:

C'est bon à savoir aussi merci :ok:

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