Python 2.6 趣味游戏,随机选择多项选择题和判断题
import random
players = 0
player1 = 0
player2 = 0
def open_file(file_name, mode):
try:
the_file = open(file_name, mode)
except(IOError), e:
print 'Cannot open file', file_name + '. Try moving its location.'
raw_input('\nPress enter to exit. ')
sys.exit()
else:
return the_file
def next_line(the_file):
line = the_file.readline()
line = line.replace('/', '\n')
return line
def main():
file = open_file('Trivia_Questions.txt', 'r')
questions = file.read().split('\n\n')
file.close()
random.shuffle(questions)
for question in questions.splitlines():
if next_line(question) == 'Multiple Choice':
subject, question, answer1, answer2, answer3, answer4, reason, empty = map(question)
print subject
print question
print '1 -', answer1
print '1 -', answer1
print '1 -', answer1
print '1 -', answer1
print reason
subject, question, answer1, answer2, answer3, answer4, reason, empty = next_block(file)
else:
subject, question, answer1, answer2, reason, empty = map(question)
print subject
print question
print '1 -', answer1
print '2 -', answer2
print reason
print empty
subject, question, answer1, answer2, reason, empty = next_block(file)
main()
我一直在查找如何做这个,但完全不知道该怎么开始。当我尝试运行这段代码时,我遇到了以下问题:
AttributeError: 'list' object has no attribute 'splitlines'
我的文本文件格式是这样的:
多项选择题
问题
答案1
答案2
答案3
答案4
正确答案#
对错题
问题
t
f
正确的t或f
原因
重复12次
我在网上搜索了两天,才决定来问这个问题,所以任何帮助都非常感谢。我需要让一个问答游戏随机选择一个问题,无论是对错题还是多项选择题,并且不重复使用同一个问题。
1 个回答
2
你已经把文件分成了一个列表:
questions = file.read().split('\n\n')
所以这里的questions
就是一个列表。你不能在这里再试着把questions
分成一个新的列表:
for question in questions.splitlines():
如果你想把每个单独的问题分成单独的行,可以在循环里这样做:
for question in questions:
for questionline in question.splitlines()