IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Fichier] Lire et prendre


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Fichier] Lire et prendre
    Heya all, je débute sur python , et j'ai fait un programme ( Un jeux où il faut deviné un chiffre etc...) , et j'aimerais intégrer a ce dernier un système qui prend le nombre de fois que l'utilisateur est venu , puis ensuite pouvoir lui dire le nombre de fois qu'il est venu.

    Merci

    Nom : dfghgf.PNG
Affichages : 1161
Taille : 35,3 Ko
    Fonction Nom : oo.PNG
Affichages : 857
Taille : 42,1 Ko
    Fonction Nom : oo2.PNG
Affichages : 662
Taille : 34,7 Ko

  2. #2
    Membre averti Avatar de zancrows
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2016
    Messages : 155
    Points : 346
    Points
    346
    Par défaut
    Bonjour,

    quelle est la difficulté que tu rencontres ?

    et pour afficher du code utilise les balises dédiées (le # dans le menu) c'est beaucoup plus lisible que des captures.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Le probleme c'est que je sais pas du tout comment m'y prendre je bloque sur ca depuis une journée ^^'


    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
    from random import randrange
    from Mes_fonctions import readplayername,compteurs,writenameplayer
     
    nb_utilisateur = 1
    compteur = 1
    nom_user=""
    reset=1
    nombre_partie=1
    vie=5
    choix=2
     
    nom_user= input("Entrez votre nom: ")
    db=readplayername()
     
    db=db.split('@')
    print(db)   
     
     
    for player in db:
        if nom_user == player:
            print("Deja vu ! On est heureux de vous revoir", nom_user ,"! C'est partie pour ta partie numero",nombre_partie,"!")
        else:
            print("Bienvenue a toi", nom_user,"pour ta premiere partie")
     
            break
    while reset==1:
        nombre_cache = randrange(0, 100)
        print(nombre_cache)
        choix=int(input("Quelle mode de jeux voulez vous faire\n1-Vie\n0-Compteur"))
     
     
        while nb_utilisateur!= nombre_cache :
     
                if choix==0:
                    mode="compteur"
                elif choix==1:
                    mode="vie"
                else:
                    print("Veuillez rentrer un choix valable") 
                    break     
                nb_utilisateur,compteur,reset,nombre_partie= compteurs(mode,nb_utilisateur,nombre_cache,nom_user,compteur,reset,nombre_partie)
    Voila les fonctions :
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    def compteurs(mode,nb_utilisateur,nombre_cache,nom_user,compteur,reset,nombre_partie ):
        if mode=="compteur":
            compteur=1
            try:
                nb_utilisateur=int(input("Entrez un nombre compris entre 1 et 100: "))
                nb_utilisateur=int(nb_utilisateur)
                if nb_utilisateur > nombre_cache:
                    print ("Le nombre cache est plus petit ")
                    compteur = compteur+1
                elif nb_utilisateur < nombre_cache:
                    print ("Le nombre cache est plus grand")
                    compteur = compteur+1
                elif nb_utilisateur == nombre_cache:
                    print("Felicitations "+nom_user+" ! Vous avez trouver le nombre cache !!!")
                    print("        Le nombre cache etait donc "+str(nombre_cache)+" !")        
                    print("        Vous avez effectuer "+str(compteur)+" essais ")
                    writenameplayer(nom_user)
                    reset=int(input("            Desirez vous rejouez ?\n0-non\n1-oui"))
     
                    if reset==1:
                                print("# C'est partit pour la partie numero ",nombre_partie +1,"#")
                                nombre_partie=nombre_partie+1
                                compteur=0
                    else:
                        print("A bientot , pour une nouvelle partie ! ")
                        nb_utilisateur=nombre_cache
                        compteur=0
     
     
     
            except :
                print("Veuillez entrer un nombre valable")
     
     
        if mode=="vie": 
                compteur=5
                while compteur>0:
                    nb_utilisateur=int(input("Entrez un nombre compris entre 1 et 100 "))
                    nb_utilisateur=int(nb_utilisateur)
                    if nb_utilisateur > nombre_cache:
                        print ("Le nombre cache est plus petit ")
                        compteur = compteur-1
                        print(compteur)
                    elif nb_utilisateur < nombre_cache:
                        print ("Le nombre cache est plus grand")
                        compteur = compteur-1
                        print(compteur)
                    elif nb_utilisateur == nombre_cache:
                        print("Felicitations "+nom_user+" ! Vous avez trouver le nombre cache !!!")
                        print("        Le nombre cache etait donc "+str(nombre_cache)+" !")        
                        print("        Il vous reste "+str(compteur)+" vie ! ")
                        writenameplayer(nom_user)
                    if compteur<=0:
                            print("Tu na plus de vie !")
                            nb_utilisateur=nombre_cache
                            reset=int(input("            Desirez vous rejouez ?\n0-non\n1-oui"))
                            if reset==1:
                                print("# C'est partit pour la partie numero ",nombre_partie +1,"#")
                                nombre_partie=nombre_partie+1
                                compteur=0
                            else:
                                print("A bientot , pour une nouvelle partie ! ")
                                nb_utilisateur=nombre_cache
                                compteur=0
     
     
     
     
     
     
        return nb_utilisateur,compteur,reset,nombre_partie
     
     
     
     
    def writenameplayer(nom_user):
        fichier = open("data.txt", "a")
        fichier.write(nom_user+"@")
        fichier.close()
     
    def readplayername():
        fichier = open("data.txt", "r")
        db=fichier.read()
        fichier.close()
        return db

  4. #4
    Membre averti Avatar de zancrows
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2016
    Messages : 155
    Points : 346
    Points
    346
    Par défaut
    Déjà il faudrait que tu enregistres qu'une fois un nom de joueur, là tu enregistres systématiquement le nom même si il existe déjà.
    Ensuite quand tu as un nouveau joueur(nom) est entré tu l'enregistres avec un compteur par exemple: zancrows@1.
    Sinon si il existe tu récupères l'entrée (tu l'as déjà fait pour vérifier si le nom existait), tu récupères le nombre, tu incrémentes et tu réécris la ligne avec la nouvelle valeur.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Vu qu'il s'enregistre plusieurs fois , j'aurai imaginez le fait qu'on compte le nombre de fois qu'il est venu , ça peut être une soluce sa ?

    Si non , comment je pourrai mettre un compteur après son nom ?

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Citation Envoyé par JunkoSan Voir le message
    Vu qu'il s'enregistre plusieurs fois , j'aurai imaginez le fait qu'on compte le nombre de fois qu'il est venu , ça peut être une soluce sa ?

    Si non , comment je pourrai mettre un compteur après son nom ?
    Oui tout ca c'est possible. Ce sont différentes manières de faire, mais elle sont toutes possibles.

    Moi avant, quand je vois un si gros code pour faire si peu de chose ça me fait peur. Et quand je commence à regarder en effet ...

    Primo, on ne recopie JAMAIS de code (sauf dans de rares exceptions que l'on ne rencontre absolument lorsqu'on débute). Donc lorsque que tu fais le déroulement d'une partie et que tu as un code pour le mode vie, et un code pour le mode compteur ca ne va pas. Car ca ne change pas le jeu du nombre mystère en lui même, la seule chose qui change c'est le compteur. Et le mode vie, c'est ni plus ni moins que

    nb_vie = nb_vies_au_depart - compteur


    Secondo, ca aussi ca fait peur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for player in db:
        if nom_user == player:
            print("Deja vu ! On est heureux de vous revoir", nom_user ,"! C'est partie pour ta partie numero",nombre_partie,"!")
        else:
            print("Bienvenue a toi", nom_user,"pour ta premiere partie")
     
            break
    Si je démarre la boucle, tu regarde le 1er joueur de la database.
    - Si c'est le joueur actuel (celui qui joue en ce moment) tu lui dit "heureux de vous revoir" et tu continue à parcourir ta database ... Mais tu n'as pas déjà trouvé ce joueur dans ta database ? ...
    - Si ce n'est pas le joueur actuel, tu souhaites la bienvenue à ce nouveau joueur et ensuite tu arrêtes de parcourir la database. Mais comment sais tu que c'est un nouveau joueur. Si ca se trouve ce n'en est pas un mais il est juste plus loin dans ta database ...


    J'aurais plutot dit que ce que tu veux faire qqch comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if nom_user in db:
        print("Deja vu ! On est heureux de vous revoir", nom_user ,"! C'est partie pour ta partie numero",nombre_partie,"!")
    else:
        print("Bienvenue a toi", nom_user,"pour ta premiere partie")
    voire si db est simplement la liste des joueurs ayant joué, on peut faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if nom_user in db:
        print("Deja vu ! On est heureux de vous revoir", nom_user ,"! C'est partie pour ta partie numero",db.count(nom_user),"!")
    else:
        print("Bienvenue a toi", nom_user,"pour ta premiere partie")

Discussions similaires

  1. Chemin du fichier à lire
    Par Tchupacabra dans le forum Langage
    Réponses: 5
    Dernier message: 18/03/2007, 15h57
  2. [Sécurité][fichiers] Lire un fichier crypté
    Par fadeninev dans le forum Langage
    Réponses: 2
    Dernier message: 21/11/2006, 07h48
  3. Réponses: 4
    Dernier message: 03/02/2006, 13h50
  4. [Fichier] Lire le contenu d'un fichier
    Par bart64 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/09/2004, 18h18
  5. [Fichier] Lire un fichier texte long
    Par _Eric_ dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 18/08/2004, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo