J'ai créé un programme qui pose trois questions à l'utilisateur, puis prédit la réponse à laquelle l'utilisateur répondra.
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()
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