首页 > 解决方案 > 如何将 str.partition 与文本文件一起使用来拆分测验的问题和答案

问题描述

我正在尝试使用外部文本文件进行测验。文本文件看起来像:

  1. 苹果是绿色的吗?是的
  2. 梨是绿色的吗?真的等等等等

我曾经x.partition("?")[0])在问号之间分开,所以问题在左边,答案在右边。但是,当我运行该程序时,答案似乎与 不匹配csAnswer,我不确定为什么。我已经尝试过csAnswer.rstrip,但它仍然输出“不正确”。

我该如何修改这个?

def csQuestions():
    for x in questionFile:
        print(x.partition("?")[0])
        answer = input("Input answer, TRUE OR FALSE: ")
        csAnswer = (x.partition("?")[2])
        csAnswer.rstrip("\n")
        print("cs is ",csAnswer,"answer input is ",answer)
        if answer == csAnswer:
            print("correct answer")
        elif answer !=csAnswer:
            print("incorrect")

标签: pythonpython-3.x

解决方案


尝试这样(使用.strip()并分配给变量):

def csQuestions():
    for x in questionFile:
        que,ans = x.split("?")
        print(que)
        answer = input("Input answer, TRUE OR FALSE: ")
        csAnswer = ans
        csAnswer = csAnswer.strip()
        print("cs is ",csAnswer,"answer input is ",answer)
        if answer == csAnswer:
            print("correct answer")
        elif answer != csAnswer:
            print("incorrect")

推荐阅读