Aide pour un programme python (casino)

Fermé
OCA - Modifié le 25 févr. 2021 à 20:19
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 26 févr. 2021 à 16:00
bonjour,

je dois créer un programme puis le présenter, j'ai choisis de créer un casino avec 2 jeux: roulette et machine a sous.

pouvez-vous m'aidez s'il vous plaît ? pour le moment le principale problème est que je n'arrive pas a utiliser l'argent que l'utilisateur peut gagner dans les jeux dans les fonctions, lorsque je change de fonction l'argent disparaît par exemple je n'arrive pas à passer de l'accueil a un jeux et inversement sans perdre l'argent.

import random
 
def entre(mot_de_passe):
    for i in range(3):
     mdp=input("veuillez entrer votre mdp:")
     if mdp==mot_de_passe:
         print("welcome to the python casino !")
         return casino()
     else:
         print("mauvaise réponse")
 
    print("avez-vous oubliez votre mdp?")
    réponse=input()
    if réponse=="oui":
        mot_de_passe=input("veuillez crée un mdp:")
        return entre(mot_de_passe)
    else:
        return entre(mot_de_passe)
 
def machine(budget):
    jeu=True
    oui=True
    compteur=100
    groslot=0
    while jeu==True:
        compteur=compteur+10
        jeu=input("voulez-vous lancer la machine ? ")
        if jeu=='oui':
            jeu = True
        if jeu==True:
         if budget>=25:
          budget=budget-25
          print("Vous commencez avec",budget, "$")
          groslot=groslot+25
          chance=random.randint(0, compteur)
          print(chance)
 
          if chance==0:
           print("vous gagnez un endettement a vie  je rigole...regarde ton compte quand meme au cas ou")
           return machine(budget)
 
          elif chance==1:
           print("vous gagnez 1$")
           budget=budget+1
           return machine(budget)
 
          elif chance==5:
           print("vous gagnez 5$")
           budget=budget+5
           return machine(budget)
 
          elif chance==10:
           print("vous gagnez 10$")
           budget=budget+10
           return machine(budget)
 
          elif chance==25:
           print("vous gagnez 25$")
           budget=budget+25
           return machine(budget)
 
          elif chance==50:
           print("vous gagnez 50$")
           budget=budget+50
           return machine(budget)
 
          elif chance==100:
           print("vous gagnez 100$")
           budget=budget+100
           return machine(budget)
 
          elif chance==1000:
           print("vous gagnez le gros lot!")
           budget=budget+100000
           return machine(budget)
 
          elif chance==999:
           print("vous gagnez le VRAIS gros lot!")
           budget=budget+groslot
           print("fin de partie")
           return casino(portemonnaie)
 
          else:
           print("vous ne gagnez rien")
 
         else:
           jeu=False
           print("veuillez investir le montant nécessaire")
           return casino(portemonnaie)
 
def roulette():
    jeu=input("voulez-vous lancer la roulette de la mort ? ")
    if jeu=='oui':
      chance=random.randint(0, 100)
      print(chance)
 
 
 
      if chance<11:
       print("vous gagnez une voiture ! et plus précisément une twingo")
       return casino(portemonnaie)
 
      elif chance==0:
       print("C'EST PARTI POUR LA ROULETTE RUSSE, *bruit de revolver* ah  bah zut ta perdu... ")
       return casino(portemonnaie)
 
      elif chance<16:
       print("vous gagnez un séjour en amazonie ")
       return casino(portemonnaie)
 
      elif chance>31:
       print("vous gagnez une moto miniature !")
       return casino(portemonnaie)
 
      elif chance>50:
       print("vous gagnez une villa en australie")
       return casino(portemonnaie)
 
      elif chance>100:
       print("vous gagnez le trophé de la perte de temps")
       return casino(portemonnaie)
 
      elif chance==100:
       print("vous gagnez 1 000 000 000 $... dans vos rêves. ")
       return casino(portemonnaie)
 
      else:
       print("vous gagnez un séjour au goulag :D")
 
    else:
     return casino(portemonnaie)
 
def argent(quantite):
    choix=input("voulez-vous mettre de l'argent?")
    if choix=="oui":
        budget=int(input("mettez de l'argent:"))
        quantite=quantite+budget
        print("voici votre solde actuelle:", budget)
        return quantite
    else:
        return quantite
 
def casino(portemonnaie):
    joue = True
    while joue==True:
        print("À quel jeux voulez-vous jouer?")
        print("1.machine à sous")
        print("2.roulette")
        print("3.mettre de l'argent sur son compte",portemonnaie, "$")
        reponse=int(input("quel est votre choix ?"))
        if reponse==1:
            return machine(portemonnaie)
        elif reponse==2:
            return roulette()
        elif reponse==3:
            portemonnaie = argent(portemonnaie)
        else:
            reponse=input("voulez-vous arreter ?")
            if reponse=="oui":
                print('Au revoir')
                return
 
 
def programme():
 mot_de_passe=input("veuillez crée un mdp:")
 entre(mot_de_passe)
 
 
programme()
A voir également:

4 réponses

yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 Ambassadeur 1 556
25 févr. 2021 à 20:24
bonjour,
dans quoi mémorises-tu l'argent?
est-ce ton premier exercice en python?
0
je veux stocker l'argent dans la variable portemonnaie, ce n'est pas mon premier exercice en python mais c'est la première fois que je dois créer un long programme comme celui que j'ai fais.
0
yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556
25 févr. 2021 à 20:36
combien d'argent le joueur a-t-il au départ?
où as-tu initialisé la variable portemonnaie?

as-tu déjà fait des exercices avec des fonctions se partageant des variables?
je pense que tu devrais d'abord faire des exercices plus simples, afin de maitriser les concepts de base.
0
OCA > yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
25 févr. 2021 à 20:43
le joueur n'a pas d'argent au départ, il peut en mettre lorsqu'il arrive dans l'accueil, la variable est tout au début du programme. oui j'en ai déjà fais mais sur ce programme c'est plus complexe.
0
yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > OCA
26 févr. 2021 à 09:42
que veux-tu dire par "la variable est tout au début du programme"? à quelle ligne?
à quelle ligne as-tu une instruction qui fait que le joueur n'a pas d'argent?
0
yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556 > yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
26 févr. 2021 à 09:45
as-tu testé ton programme? quad j'essaie, j'ai un message d'erreur.
je pense que tu devrais d'abord faire des exercices plus simples, afin de maitriser les concepts de base.
0
OCA > yg_be Messages postés 23359 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024
26 févr. 2021 à 12:19
J'avais modifier mon programme de mon côté mais j'avais placer la variable tout au début juste après import
C'était portemonnaie=0.
0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 26 févr. 2021 à 15:51
Bonjour,

Bizarre ce code

au début on demande d'entrer un mot de passe:

mot_de_passe=input("veuillez crée un mdp:")


Ensuite, on passe le mdp saisi à la fonction entre():

entre(mot_de_passe)


Et là, dans entre(), on redemande un mdp:

mdp=input("veuillez entrer votre mdp:")


Et tout ces return : return(casino()), dans certains cas, casino ne retourne rien
0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
26 févr. 2021 à 16:00
Ah, je vois que tu as posté aussi sur un autre forum et que tu as eu des réponses !
0