Ich habe ein Programm erstellt, das dem Benutzer drei Fragen stellt und dann die Antwort vorhersagt, die der Benutzer beantworten wird.
quiz.py
# -*- coding: utf-8 -*-
import random
questions = ["Ich mag Katzen besser als Hunde",
"Wissenschaft",
"Mann",
"Ich mag Reis besser als Brot",
]
ourAnswers = [[0,1,1,1],
[1,1,1,0],
[0,0,1,0],
[0,1,0,1],
[1,0,0,1],
]
def quiz():
u"""Ich habe ein paar Fragen. Dann antizipieren Sie die Antwort, die Sie beantworten werden.
"""
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+"Ist es? 1.Ja,0.Nein:"))
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("★ Du{0}nicht wahr?(Wahrscheinlichkeit{1:.2f}%) 1.Ja,0.Nein:".format(questions[target],rate*100)))
else:
yourAnswer[target] = 1 - int(raw_input("★ Du{0}Ist es nicht?(Wahrscheinlichkeit{1:.2f}%) 1.Ja,0.Nein:".format(questions[target],100-rate*100)))
ourAnswers.append(yourAnswer[:])
if __name__ == "__main__":
while(True):
quiz()
Magst du Katzen besser als Hunde? 1.Ja,0.Nein:1
Ist es Wissenschaft? 1.Ja,0.Nein:1
Magst du Reis besser als Brot? 1.Ja,0.Nein:1
★ Bist du ein Mann?(Wahrscheinlichkeit 52.50%) 1.Ja,0.Nein:
Oh, oh ...
Bitte schreiben Sie die Fragen (Fragenliste) und unsere Antworten (Liste der Antwortlisten) zu Beginn neu und spielen Sie. Ich werde nach und nach schlauer. Die Beurteilungskriterien sind wie folgt.
Wahrscheinlichkeit, dass Frage X JA ist = Prozentsatz der Antwort X ist JA, wenn Antwort Y [JA / NEIN] ist
Wir wägen nicht ab, welche Frage sich dem Kern nähert.
Recommended Posts