如何在不再次运行整个函数的情况下获取函数值

时间:2019-08-09 12:55:31

标签: python-3.x

我想保存先前输入的列表的值,而不必在调用函数进行保存时再次重新输入。

最好不使用OOP,因为它目前不在我的学习模块之内,但如果不可避免,那么也欢迎进行自学习。

List<int> values = [1,2,3,1,2,3];
Firestore.instance.path.setData({"values": values});

我期望它将列表中的值保存到文件中,但是当我运行saveQuiz()时,它将运行整个createQuiz(),要求我再次输入该值。

1 个答案:

答案 0 :(得分:0)

您的行

for i in createQuiz():

要求一个新的测验实例,但未引用您之前进行的测验。我认为您打算这样做:

def createQuiz():
    quiz = []
    for i in range(2):
        quiz.append(str(i+1) + ') ' + input('Please input Question ' + str(i+1) + ':\n'))
        for j in range(2):
            quiz.append(chr(97+j) + '. ' + input('Please input option ' + str(j+1) + ':\n'))
        quiz.append('Answer: ' + input('Please input Answer(A,B,C,D):\n'))
    return quiz


def saveQuiz(quiz):
    with open('quiz.txt', 'w') as file:
        for i in quiz:
            file.write(i)
            file.write('\n')

quiz_instance = createQuiz()
saveQuiz(quiz_instance)

给了我一个包含以下内容的文件“ quiz.txt”

1) q1
a. a
b. b
Answer: b
2) q2
a. a
b. b
Answer: a