-5

Pythonの問題を解決できません。コードは、質問があるテキストファイルを開きます。各質問に正しい答えを出す方法は?

タラ:

import random
file = open('/home/jonny/questions.txt', 'r')
text = file.read()
separator = '*'
questions = text.split(separator)
print random.choice(questions)

試み:

resp=raw_input('answer: ')
for question[0] in questions:
if resp=='a':
print 'gratzz'

TXT:

*元気ですか?
a)よく
b)ひどく
c)わからない
*あなたの今日の予定は
a)何もない
b)何か
c)わからない
4

1 に答える 1

0

JSONなどの標準の構造化形式でデータを保存してみてください。JSONを解析するためのライブラリがPythonに含まれています。

questions.json以下を含むというファイルを作成します。

{{
  "あなたの今日の予定は?": {
    「答え」:[「何もない」、「何か」、「わからない」]、
    "correct_answer":2
  }、
  "元気ですか?": {
    "答え":["よく"、 "ひどく"、 "わからない"]、
    "correct_answer":1
  }
}

次に、それを解析して、次のようなランダムな質問をユーザーに尋ねることができます。

import json
import random

# read data from JSON file
questions = json.load(open("questions.json"))

# pick a random question
question = random.choice(questions.keys())

# get the list of possible answers and correct answer for this question
answers = questions[question]['answers']
correct_answer = questions[question]['correct_answer']

# display question and list of possible answers    
print question
for n, answer in enumerate(answers):
    print "%d) %s" % (n + 1, answer)

# ask user for answer and check if it's the correct answer for this question
resp = raw_input('answer: ')
if resp == str(correct_answer):
    print "correct!"
else:   
    print "sorry, the correct answer was %s" % correct_answer

出力例:

あなたの今日の予定は?
1)何もない
2)何か
3)わからない
答え:3
申し訳ありませんが、正解は2でした
于 2012-12-04T02:07:28.220 に答える