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

Réseau/Web Python Discussion :

Python et Brython


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Python et Brython
    Bonjour/bonsoir , je suis en terminale S isn, et je voulais comme projet en ISN , faire un site Html css avec du code python, j'ai donc trouvé brython et novice dans la chose , quelqu'un pourrait-il m'aider à utiliser brython pour mettre mon quizz dans ma page html sachant que j'ai le code python
    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
    print(" Taper la bonne réponse A,B,C ou si plusieurs réponses les réponses séparées d'un point ;(A;C par exemple)( ne pas oublier les majuscules , c'est une série de 10 questions . Si vous répondez autre chose que A B C le programme plantera il faudra le relancer . " )
     
     
    Question = [["Quelle est le quantum d'un CAN 8 bits avec une pleine échelle 5 volts ?","A :1/51","B :8/5","C :40","B"],
                ["Quelle est l'accélération d'une voiture roulant à 100 km/h en t=1h en départ arrêté ? ","A :100km/h^2","B :6m/s^3","C :6m/s^2","C"],
                ["Comment commande t'on un moteur ?","A :Par Mli","B :Avec du courant","C :Par PWM avec du courant ","C"],
                ["Peut-on augmenter la vitesse d'un moteur ?","A :Impossible on a déja trop de couple","B :Avec un réducteur","C:Avec un multiplicateur","C :Lisbonne"],
                ["Comment peut-on être écolo demain? ","A :en jetant nos poubelles","B :En construisant de manière écolo","C :En enfouissant nos déchets","B"],
                ["Comment calcule-t-on l'intensité d'un courant à la sortie d'un composant dans un circuit?","A :Par loi des mailles","B :Par loi d'ohm","C :Par loi des noeuds","B;C"],
                ["Dans une batterie de 6 mAh et de tension 15v, Calculer l'energie disponible en joules","A :324 J","B :0.09 Wh","C : 90 J","B :C"],
                [" Un bon moteur ","A :ça dépend?","B : un moteur avec un fort couple? ","C : un moteur qui tourne vite?","C :A;B;C;?"],
                ["Traduisez en décimal 01011111(b2)? ","A :95(B10)","B :55(B10)²","C :6(B10)","A"]]
     
     
    qtal = Question #On enleve des éléments de la liste pour ne pas répéter la question.
     
     
    x = 0
    while x < 9 :
        for i in range(0,1):
         lQst = random.choice(qtal)  #On prend une question
         qtal.remove(lQst)  #Qu'on enleve de notre liste de questions
         print(lQst[0])  #On l'affiche
     
     
         print(lQst[1]) #Les 3 réponses
         print(lQst[2])
         print(lQst[3])
     
     
         LRep = str(input("Votre réponse: ")) #On redemande
     
         LChx = LRep
     
     
     
         if LChx == lQst[4]: #rpvrai
          print("-- VRAI --\n")
          print("Nouvelle question : " )
          x += 1
     
         else: #Sinon
          print("-- FAUX --\n")
          print(" La bonne réponse était : "), print(lQst[4])
     
          print("Nouvelle question : " )
          x += 1
     
    x = 10
    print(" Fin du jeu ! " )
    il nécessite peut être des modifications par rapport à brython.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Tu a tous ce qu'il faut pour y arriver ici.

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il y a plusieurs années que je n'avais pas touché à Brython, et je vois avec plaisir que ça progresse bien!

    Il y a effectivement pas mal de changements à faire dans ton code, parce qu'il est conçu pour fonctionner en console, alors que le codage pour le web s'apparente plutôt à une programmation graphique, c'est à dire par évènement (déclenché par la souris, le clavier, etc...).

    Par ailleurs, ce codage nécessite, en plus de Python, des connaissances en html, css, javascript et accès DOM.

    Par curiosité, j'ai fait un petit code de principe pour ton problème, qui devrait te permettre de démarrer. Mais il y aura pas mal d'améliorations à faire! Regarde les démos du site de brython: c'est impressionnant ce qu'on peut faire avec: https://brython.info/demo.html?lang=en

    Avant d'essayer ce code, je rappelle comment on peut le faire fonctionner sur un PC Windows:

    - télécharger brython ici: https://github.com/brython-dev/brython/releases. Tu choisis "Brython-3.7.1.zip", et tu le désarchives.

    - tu crées quelque part sur ton disque un répertoire "weblocal" (par exemple).

    - tu crées dans ce répertoire un sous-répertoire "src" dans lequel tu places les fichiers désarchivés de brython.

    - et tu mettras ton code html dans le répertoire "weblocal".

    - maintenant, il faut activer un serveur web à cet endroit. Tu prends une console, tu te places dans le répertoire "weblocal" (avec cd ...), et tu lances le serveur web python avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python -m http.server 8000
    Et il devrait s'afficher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
    Maintenant, ton serveur web est activé, et il suffit de mettre un fichier html, par exemple "questionnement.html", et de l'appeler dans un navigateur (firefox chez moi) avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8000/questionnement.html
    Pour la mise au point du programme, je te suggère de lancer brython avec le niveau de debug:1 et d'afficher la console web du navigateur (sous firefox: menu Outils=>Développement web=>Console web). Ainsi, tu verras toutes tes erreurs dedans (il y en aura!).

    Voilà le petit code de principe pour tes questions:

    Code html : 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
    <html>
     
    <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="./src/brython.js"></script>
    <script type="text/javascript" src="./src/brython_stdlib.js"></script>
    </head>
     
    <body onload="brython({debug:1, indexedDB:false})">
     
    <script type="text/python3">
    from browser import document, alert
    import random
     
    questions = [["question1", "A", "B", "C", "A"], 
                 ["question2", "A", "B", "C", "B"], 
                 ["question3", "A", "B", "C", "C"]
                ]
     
    question = "" # variable globale
     
    def nouvellequestion(evt):
        global question
        if document['suite'].value.upper()=="O" and questions!=[]:
            n = random.randint(0, len(questions)-1)
            question = questions.pop(n)
     
            document['question'].clear()
            document['question'].text = question[0]
            document['choix1'].clear()
            document['choix1'].text = question[1]
            document['choix2'].clear()
            document['choix2'].text = question[2]
            document['choix3'].clear()
            document['choix3'].text = question[3]
     
            document['reponse'].value = ""
            document['solution'].text = "Solution"
            document['suite'].value = "O"
     
        else:
            alert('Terminé!')
     
    def affichecorrection(evt):
        rep = document['reponse'].value
        if rep!="" and rep[0].upper()==question[4]:
            document['solution'].text = "Bonne réponse!"
        else:
            document['solution'].text = "Faux! La bonne réponse est: {}".format(question[4])
     
    document['bouton1'].bind('click', affichecorrection)
    document['bouton2'].bind('click', nouvellequestion)
     
    </script>
     
    <p>Répondre à la question</p>
    <br/>
    <div id="question">Question</div>
    <div id="choix1">Choix 1</div>
    <div id="choix2">Choix 2</div>
    <div id="choix3">Choix 3</div>
    <br/>
    <div>Votre réponse:  <input id="reponse" value=""><button id="bouton1">Cliquez !</button></div>
    <br/>
    <div id="solution">Solution</div>
    <br/>
    <div>Nouvelle question? (O/N) <input id="suite" value="O"><button id="bouton2">Cliquez !</button></div>
     
    </body>
    </html>

    Bon courage!

    [Edit] => Et si tu veux faire facilement une jolie page web, rien ne t'empêche de la fabriquer avec un éditeur html "wysiwyg" gratuit comme bluegriffon (http://bluegriffon.org/). Tu pourras ensuite en modifier le source html pour y intégrer le code brython.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Re-brython
    Merci ,je reviens de mon cours d'ISN et mon prof m'a conseillé de faire au plus simple( de faire du python avec l'interpreteur) car les oraux sont proches, j'abandonne l'idée de brython pour le moment,néanmoins pendant les grandes vacances ,je vais y revenir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. INFO Brython - remplacer Javascript par Python -
    Par VinsS dans le forum Général Python
    Réponses: 0
    Dernier message: 19/12/2012, 20h31
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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