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

Des gens qui ont des bases en python ? Aide sur un programme simple

VeryDarkus
VeryDarkus
Niveau 10
23 octobre 2017 à 18:31:47

https://image.noelshack.com/fichiers/2017/43/1/1508776092-photo-python.png
Salut tout le monde. je débute en programmation et je suis un cours sur internet assez complet qui m'a posé un TP à faire. Le but est de faire un programme qui simule un casino. On choisi un numéro si on a le bon on gagne 3 fois sa mise et on récupère sa mise. Si on a un nombre de la même couleur ( les 2 impairs ou les 2 pairs( on gagne 50% de sa mise et on la récupère (on gagne donc de l'argent). S'il n'y a aucune de ces conditions on perd la mise.
Mon problème est que ce programme ne se lance pas et je ne vois pas pourquoi. Savez vous d'où viendrait le problème ?

Pseudo supprimé
Pseudo supprimé 23 octobre 2017 à 18:51:03

ligne 17 , il faut 2 = sinon il compte ca comme une assignation

autrement je ne voit pas de probleme particulier pour le moment.

Petit tip : x = x - y est l'équivalent de x += y (ca marche aussi avec les soustractions / multiplications / divisions)

Message édité le 23 octobre 2017 à 18:52:47 par Pseudo supprimé
Azmurael
Azmurael
Niveau 10
23 octobre 2017 à 18:52:19

Salut !
Mets plutôt ton code dans les balises codes, plus pratique pour tester, et plus résistant au temps.

une ligne de ton code 
une autre ligne

Ta condition ligne 17 est fausse, ( = à la place de ==) mais je doute que ce soit ça qui empêche l'exec de ton programme. Comment lances tu ton programme ?

Pseudo supprimé
Pseudo supprimé 23 octobre 2017 à 18:54:04

tant que j'y suis , pourquoi tu met des continue ? ca sert a rien ici

Exacompta
Exacompta
Niveau 10
23 octobre 2017 à 18:55:46

Salut, la prochaine fois mets ton code dans les balises prévues à cet effet (ou sur pastebin à la limite) au lieu de prendre un screen et si possible nous montrer le message d'erreur.

Le premier problème que je vois est à la ligne 17, tu mets "if gagnant = choix" alors que c'est "if gagnant == choix". La différence est qu'un seul signe "=" sert à assigner une valeur alors que deux signes "=" permet de comparer.

Le deuxième problème se situe dans les print, tu mets en brut les variables avec le texte, ca ne fonctionne pas comme ça. Ici est décrit comment ça fonctionne https://pyformat.info/#simple ou sur ça https://image.noelshack.com/fichiers/2017/43/1/1508777692-image.png

Si tu as d'autres questions n'hésite pas :-)

Message édité le 23 octobre 2017 à 18:56:32 par Exacompta
Pseudo supprimé
Pseudo supprimé 23 octobre 2017 à 18:57:04

Si je dis pas de connerie y a aussi ligne 31, != et non pas =!

Pseudo supprimé
Pseudo supprimé 23 octobre 2017 à 19:01:49

ah oui j'ai pas vu tu a oublié les + dans les print :hap:

VeryDarkus
VeryDarkus
Niveau 10
23 octobre 2017 à 19:02:29

Le 23 octobre 2017 à 18:52:19 Azmurael a écrit :
Salut !
Mets plutôt ton code dans les balises codes, plus pratique pour tester, et plus résistant au temps.

une ligne de ton code 
une autre ligne

Ta condition ligne 17 est fausse, ( = à la place de ==) mais je doute que ce soit ça qui empêche l'exec de ton programme. Comment lances tu ton programme ?

J'enregistre mon programme avec notepad+ en format .py et je le lance tout simplement. J'ai pas trop compris l'histoire des balises codes par contre :(

VeryDarkus
VeryDarkus
Niveau 10
23 octobre 2017 à 19:14:09

https://image.noelshack.com/fichiers/2017/43/1/1508778735-photo-python.png
J'ai appliqué vos conseils. J'ai fait de grossière erreurs surtout pour le différent de (!=). Le programme ne se lance toujours pas, je suis vraiment pas doué. Je le met en format texte si vous voulez le tester et le modifier :

import os
import math
import random

argent =1000
print("Vous avez 1000€ à jouer")

while argent>0 :
mise=input("Combien souhaitez vous miser ?")
mise=int(mise)
argent = argent-mise
choix = input("Choisissez un nombre entre 0 et 49 :")
choix = int(choix)
gagnant = random.randrange(50)
print(("Le numero gagnant est :{}).format(gagnant))

if gagnant == choix :
mise= 3*mise
print(("Vous avez gagné {} €").format(mise))
argent == argent + mise
print(("Votre solde est maintenant de :{}€").format(argent))
continue

elif gagnant%2=0 and choix%2=0 :
mise = mise/2
print(("Vous avez gagné {} €").format(mise))
argent=argent + mise
print(("Votre solde est maintenant de :{}€").format(argent))
continue

elif gagnant%2 != 0 and choix%2 != 0 :
mise == mise/2
print(("Vous avez gagné {} €").format(mise))
argent = argent + mise
print(("Votre solde est maintenant de :{}€").format(argent))
continue

else :
print ("Vous avez perdu votre mise")
argent = argent - mise
print(("Votre solde est maintenant de :{}€").format(argent))
continue

if argent<0 :
print("Vous avez perdu tout votre argent")

os.system("pause")

Message édité le 23 octobre 2017 à 19:14:32 par VeryDarkus
Pseudo supprimé
Pseudo supprimé 24 octobre 2017 à 00:33:28

Il manque un " fermant à la ligne 15, t’as pas corrigé les == dans le elif, et je crois avoir vu une affectation avec == ce qui va pas.

Quand tu dis que le programme se lance pas, il se lance vraiment pas ou il plante ? Sinon je veux bien savoir comment tu l’exécutes ?

Yenshu
Yenshu
Niveau 8
24 octobre 2017 à 00:44:53

Juste un truc, ton if après la boucle While est pas utile vu que tu vérifie 2 fois ton argent. Si t'es plus dans ta boucle, t'as plus d'argent, donc pas besoin du if. Fin tu fait ce que tu veux ^^ C'est pas faux ce que tu as mis seulement si tu veux que le gars soit débiteur. Car si il a par coïncidence 0€ ton message ne s'affichera pas. Si tu veux garder ton if met "<=" comme ça si ta somme est inférieure ou égale à 0 t'as plus de sous.

Pseudo supprimé
Pseudo supprimé 24 octobre 2017 à 07:20:00

argent = argent - mise
equivaut a
argent -= mise

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