[PYTHON] Un programme qui répond à quelques questions et prédit la prochaine réponse

J'ai créé un programme qui pose trois questions à l'utilisateur, puis prédit la réponse à laquelle l'utilisateur répondra.

La source

quiz.py


# -*- coding: utf-8 -*-
import random
questions = ["J'aime mieux les chats que les chiens",
        "Science",
        "Homme",
        "J'aime mieux le riz que le pain",
        ]
ourAnswers = [[0,1,1,1],
             [1,1,1,0],
             [0,0,1,0],
             [0,1,0,1],
             [1,0,0,1],
             ]


def quiz():
    u"""J'ai quelques questions. Anticipez ensuite la réponse à laquelle vous répondrez.
    """
    target = random.randint(0,len(questions)-1)
    yourAnswer = len(questions)*[0]
    rates = len(questions)*[0]

    for i, question in enumerate(questions):
        if i == target:
            continue
        yourAnswer[i] = int(raw_input(question+"C'est ça? 1.Oui,0.Non:"))

    for i in xrange(len(questions)):
        i_is1count = 0
        target_is1count = 0
        for ourAns in ourAnswers:
            if ourAns[i] == yourAnswer[i] or i == target:
                i_is1count += 1
                if ourAns[target] == 1:
                    target_is1count += 1
        if i_is1count == 0:
            rates[i] = 0.5
        else:
            rates[i] = float(target_is1count) / i_is1count
    rate = sum(rates)/len(rates)
    if rate >= 0.5:
        yourAnswer[target] = int(raw_input("★ vous{0}n'est-ce pas?(probabilité{1:.2f}%) 1.Oui,0.Non:".format(questions[target],rate*100)))
    else:
        yourAnswer[target] = 1 - int(raw_input("★ vous{0}N'est-ce pas?(probabilité{1:.2f}%) 1.Oui,0.Non:".format(questions[target],100-rate*100)))
    ourAnswers.append(yourAnswer[:])


if __name__ == "__main__":
    while(True):
        quiz()

Résultat d'exécution

Aimez-vous les chats mieux que les chiens? 1.Oui,0.Non:1
Est-ce de la science? 1.Oui,0.Non:1
Aimez-vous mieux le riz que le pain? 1.Oui,0.Non:1
★ Êtes-vous un homme?(Probabilité 52.50%) 1.Oui,0.Non:

Oh, oh ...

Veuillez réécrire les questions (liste de questions) et nos réponses (liste de réponses) au début et jouer. Je deviens plus intelligent petit à petit. Les critères de jugement sont comme ça.

Probabilité que la question X soit OUI = pourcentage de réponse X étant OUI lorsque la réponse Y est [OUI / NON]

Nous ne pondérons pas la question qui se rapproche du cœur.

Recommended Posts

Un programme qui répond à quelques questions et prédit la prochaine réponse
Un programme qui appuie et relâche simplement la touche Échap
Ecrire un programme qui abuse du programme et envoie 100 e-mails
[Python] Un programme qui arrondit le score
Programme pour rechercher la même image
Un programme shell qui affiche une séquence de Fibonacci
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles
[Python] Un programme qui compte le nombre de vallées
Un programme qui demande quelques kilogrammes pour atteindre l'IMC et le poids standard [Python]
[Python] Un programme qui compare les positions des kangourous.
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Un programme qui supprime des caractères spécifiques du texte saisi
[Python] Un programme qui trouve les types d'oiseaux les plus courants
[Golang] Un programme qui détermine le tour avec des nombres aléatoires
Un programme qui reçoit la commande d'asservissement du contrôleur radio, interrompt la tarte aux râpes et l'enregistre.
Comprendre les probabilités et les statistiques qui peuvent être utilisées pour la gestion des progrès avec un programme python
J'ai créé un programme qui résout la recherche d'erreur en quelques secondes
[Ev3dev] Créez un programme qui capture LCD (écran) en utilisant python
J'ai fait un programme qui calcule automatiquement le zodiaque avec tkinter
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
L'histoire de l'exportation d'un programme
[Python] Un programme qui calcule le nombre de segments de chocolat qui remplissent les conditions
Un programme qui récupère en douceur toute rubrique d'actualité
Un programme python qui redimensionne une vidéo et la transforme en image