Bonsoir,
J'ai une erreur python dont je n'arrive pas à trouver l'origine
elif numero_gagnant % 2 == nombre_mise % 2:
TypeError: not all arguments converted during string formatting
Si quelqu'un savait de quoi il s'agit,
Merci,
SR
Bonsoir,
J'ai une erreur python dont je n'arrive pas à trouver l'origine
elif numero_gagnant % 2 == nombre_mise % 2:
TypeError: not all arguments converted during string formatting
Si quelqu'un savait de quoi il s'agit,
Merci,
SR
Bonsoir,
Comment sont créées tes variables numero_gagnant et nombre_mise ?
Je dis ça parce-que si je teste sur mon interpréteur, ça me donne une erreur si par exemple j'essaye de faire une opération numérique avec une chaîne de caractères...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 >>> "ldfj"%2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: not all arguments converted during string formatting
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
En gros j'ai repris le corrigé du livre de vincent le goff septembre 2011 apprenez à programmer en python en voulant simplifier la solution de la page 92 dont voici le code
et sur ce code, j'ai cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 import os from random import randrange from math import ceil argent = 1000 continuer_partie = True print("vous vous installez à la tablette de roulette avec" , argent , "$") nombre_mise = -1 nombre_mise = input ("taper le nombre sur lequel vous voulez miser (entre 0 et 49) : ") mise = 0 mise = input ("taper le montant de votre mise : ") numero_gagnant = randrange(50) print ("la roulette tourne....... ..... et s'arrete sur le numero" , numero_gagnant) if numero_gagnant == nombre_mise : print ("felicitations ! vous obtenez" , mise * 3, "$ !") argent += mise * 3 elif numero_gagnant % 2 == nombre_mise % 2: mise = ceil(mise * 0.5) print ("vous avez mise sur la bonne couleur vous obtenez" , mise , "$") argent += mise else : print ("desole l'ami ce n'est pas pour cette fois; vous perdez votre mise ") argent -= mise if argent <= 0 : print ("vous etes ruine ! c'est la fin de la partie ") continuer_partie = False else : print ("vous avez à present " , argent , "$") quitter = input ("souhaitez vous quitter le casino (o/n) ? ") if quitter == "o" or quitter == "0" : print ("vous quitter le casino avec vos gains ") continuer_partie = False os.system("pause")
Ce code utilise l'ancienne version du langage, et tu dois remplacer input par int(input(...)) là où on demande un entier...
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
D'après ce qui est dit dans ce tutoriel https://python.developpez.com/cours/...3/?page=page_8, la fonction input renvoie une CHAINE de caractères.
(String en anglais ...) on retrouve le mot string que tu avais dans ton message d'erreur et qui était quand même un sacré indice.
Ce que tu voudrais faire, c'est tester si 2 nombres sont de même parité,
Mais ce que tu fais, c'est tester si 2 chaines sont de même parité. Et l'opérateur % appliqué sur une chaîne, ça plante.
Pour t'en assurer, la recette magique qui aide toujours en phase de débuggage, c'est d'utiliser la fonction print.
En ligne 13, met : print ( type( nombre_mise) )
Et regarde ce qu'il t'indique.
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
la solution de fred marche; la votre renvoie la même erreur
Pourtant le livre de dec 2011 c'est le python 3 le 4 n'existe pas.Le livre serait t'il déjà obsolète ?
Merci pour la réponse
C'est sans doute la version 2.6 ou 2.7, et ces versions sont obsolètes pour les débutants. Pour ton apprentissage il est souhaitable d'abandonner ce tutoriel.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Quel est d'après vous le meilleur ouvrage pour débutants ?
Bonjour,
Je dirai cliquer sur le bouton "LIVRES PYTHON" dans le menu du forum en haut de page.
Sinon Apprendre Python 3 est bien, tu le trouveras dans la liste des livres du forum. ^^
Salutations.
tu aura du mal à trouver de l'info même sur le site de python ou les forum sur nombre de particularité usage des decorateurs & autre property ,
pour ma part je privilégie les livre qui opte pour d'un coté le detail exhautif des fonctions et de l'autre l'apprentissage par l'exemple qui ne l'est pas .. avoir 2 livres séparé
Pyton concentré & cookbook chez o'reilly
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager