a =input("提问")
b =input("答案.可以一直循环录入文字")
c =input("请输入你要查询的关键词")
举个例子:
print('请问花中四君子是什么花?')
flower = ['梅花','兰花','竹子','菊花']
answer = []
while flower:
t = input()
if t in answer:
print('已经答过了')
continue
if t in flower:
answer.append(t)
flower.remove(t)
print('对')
else:
print('错')
else:
print('全部答对了')
你是需要查询txt进行问答吗?我的思路是这样的,通过读取文件进行处理后,然后获取输入比对答案,简单遍历所有问题,逐一提问,问题遍历完,回答就结束,不知道是不是满足你的要求?思路如下:
1、首先从question.txt文件把每行问答读取到列表
2、把通过for循环把列表的每一项通过问号字符分隔成问答两项,形成问答字典
3、遍历问答字典,把key作为问题提问,然后获取回答输入比对value,如果相同则提示回答正确,如果错误则提示回答错误,问完所有问题,程序结束。
参考链接:
少儿科普知识问答大全
python读取文件的几种方式_木白星枝的博客-CSDN博客_python读取文件
Python使用多个分隔符分割字符串_程序遇上智能星空的博客-CSDN博客_python 多个分隔符分割字符串
Python中列表的定义及访问列表_东北银儿的博客-CSDN博客_python定义列表
python判断字符串相等_好生活好二三四
代码如下:
#问答参考:https://www.jy135.com/xuetang/kepu/391870.html
#https://blog.csdn.net/qq_42759120/article/details/125283271
file_object1 = open("question.txt",'r') #打开文件
modules =[] #存放从文件读取的每行问答的列表
try:
while True: #从question.txt读取所有行的问答
line = file_object1.readline()
if line:
#print ("line=",line)
#https://www.jianshu.com/p/0597fa008a27
modules.append(line.strip('\n'))
else:
break
finally:
file_object1.close()
dic={}
for m in modules: #把从文件读取的列表按问号字符分隔成字典
#https://blog.csdn.net/kevinjin2011/article/details/104804720
qa=m.split("?")
#print(qa)
#https://blog.csdn.net/sunnydenagexiatian/article/details/124592065
dic.setdefault(qa[0],qa[1])
for key ,value in dic.items(): #遍历字典进行提问,会判断回答是否正确,问完所有问题,程序结束
#print("question=",key,",answer=",value)
an=input(key+"?")
#https://www.how234.com/eamyrzbsh.html
if an == value :
print("回答正确!")
else:
print("回答错误!")
question.txt:
中国的首都是哪个城市?北京
电灯是谁发明的?爱迪生
造纸术是谁发明的?蔡伦
a=input("提问")
while True:
answer =input("回答你的问题")
if(answer=="quit"):
break
c=input("请输入你的关键字")