Programa Python que faz minha leitura guiada para aulas de psicologia avançada

este programa é muito simples. Ele tenta detectar as perguntas, depois as separa, procura na wikipedia e depois coleta as respostas. Tudo bem, eu sou um colegial e não tenho muito tempo.

Requisitos (bibliotecas)

Solicitações,
Wikipedia,
JSON

Uso

Chame a função:

do("Your questions")

Por exemplo:

do("What is the spacing effect? How does retrospective thinking works? Who is the father of psychoanalysis?")

Código:

import requests
import json
import wikipedia
def retrieveQuestions(dataStr):
dataStr
= dataStr.lower()
questions
= []
another_question
= False
w_s
= ["what","why","when","how","have","can","could"]
w_c
= ""
pos_i
= 0
pos_f
= 0
for w in w_s:
#print("n ",w," n")
another_question
= w in dataStr
w_c
= w
while another_question:
#loli=input("data")
#print(dataStr)
matchers
= []
match
=""
if w_c == "what":
matchers
= ["what is it ","what is the ","what would ","what are the","what are ","what does the","what does ","what"]
elif w_c == "why":
matchers
= ["why is it ","why is the ","why would ","why are the","why are ","why does the","why does ","why"]
elif w_c == "when":
matchers
= ["when is it ","when is the ","when would ","when are the","when are ","when does the","when does ","when"]
elif w_c == "how":
matchers
= ["how is it ","how is the ","how would ","how are the","how are ","how does the","how does ","how"]
elif w_c =="have":
matchers
= ["have"]
elif w_c == "can":
matchers
= ["can"]
elif w_c == "could":
matchers
= ["could"]
for match in matchers:
#print("match:",match)
if match in dataStr:
pos_i
= dataStr.find(match)
break
#print(pos_i, "n")
pos_f
= dataStr.find("?")
#print("pos_f",pos_f)
reps
= 0
while pos_f < pos_i:
pos_f
= dataStr.find("?", pos_f+1)
#print("pos_f-inside-while:",pos_f)
reps
+= 1
if reps > 100:
break
if reps > 100:
break
else:
reps
= 0
#loli = input("matches")
#print("match:",match,"-data",dataStr)
questions
.append(dataStr[pos_i+len(match):pos_f])
whole_question
= dataStr[pos_i:(pos_f+1)]
dataStr
= dataStr.replace(whole_question, "")
another_question
= False
another_question
= w_c in dataStr
return questions
def homework(info):
textR
= {}
hw
= ""
textR
['clean'] = info.lower()
textR
['questions'] = retrieveQuestions(textR['clean'])
for question in textR['questions']:
try:
search
= wikipedia.summary(question, sentences = 10)
except:
print("error")
hw
+="*****"+question+"***** n " + search + " n n "
return hw
def do(info):
r
= homework(info)
f
= open('results1.txt','w')
f
.write(r)
f
.close()