Sem resumo de edição |
|||
| Linha 14: | Linha 14: | ||
#Cadastro de alunos | #Cadastro de alunos | ||
#Sites importantes | #Sites importantes | ||
<br> | |||
= Código = | |||
<br> | |||
<syntaxhighlight lang="python3"> | |||
# C�digo fonte, adicionado os comandos de tratamento de arquivo | |||
# Ao abrir e fechar o programa, os dados salvos desaparecem | |||
print("Bem vindo ao FAQ discente!") | |||
arquivo = open('arquivofaq.txt', 'w') | |||
donos=["Jos�",'\n',"Fl�vio",'\n',"Vit�ria",'\n',"Sabrina",'\n'] | |||
users=[] | |||
senhausers=[] | |||
sites=[] | |||
nsites=[] | |||
contatos=[] | |||
ncontatos=[] | |||
pergunta_mat = [] | |||
resposta_mat = [] | |||
pergunta_atv= [] | |||
resposta_atv= [] | |||
arquivo.writelines(donos) | |||
arquivo.writelines(users) | |||
arquivo.writelines(senhausers) | |||
arquivo.writelines(sites) | |||
arquivo.writelines(nsites) | |||
arquivo.writelines(contatos) | |||
arquivo.writelines(ncontatos) | |||
arquivo.writelines(pergunta_mat) | |||
arquivo.writelines(resposta_mat) | |||
arquivo.writelines(pergunta_atv) | |||
arquivo.writelines(resposta_atv) | |||
arquivo.close() | |||
pal_chave=1 | |||
nmat=0 | |||
natv=0 | |||
y=0 | |||
teste=0 | |||
i=0 | |||
op2=0 | |||
a=0 | |||
b=0 | |||
c=0 | |||
d=0 | |||
e=0 | |||
f=0 | |||
g=0 | |||
h=0 | |||
j=0 | |||
k=0 | |||
nomeuser="a" | |||
ndeuser=0 | |||
nacesso=0 | |||
w=0 | |||
u=0 | |||
arquivo = open('arquivofaq.txt', 'a') | |||
sobre_nos="O FAQ discente visa atender alunos de escolas e universidades com o objetivo de esclarecer d�vidas relacionadas ao cotidiano acad�mico atrav�s de um ambiente interativo que possibilita cadastro de informa��es e perguntas.\nQualquer d�vida, entre em contato: jose.gomide@ufu.br\n" | |||
arquivo.writelines(sobre_nos) | |||
arquivo.close() | |||
def goto(linenum): | |||
global line | |||
line = linenum | |||
line=1 | |||
while (True): | |||
if line==1: | |||
entrada=int(input("Deseja fazer: \n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: ")) | |||
if entrada == 1: | |||
goto(2) | |||
elif entrada == 2: | |||
goto(3) | |||
while (entrada<1 or entrada >2 and i<1): | |||
print("Fun��o inv�lida") | |||
entrada=int(input("Deseja fazer:\n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: ")) | |||
i+=1 | |||
if (line==2): | |||
print("Realize seu cadastro!") | |||
arquivo = open('arquivofaq.txt','a') | |||
users.append(input("Digite seu nome de usu�rio: ")) | |||
users.append('\n') | |||
senhausers.append(input("Digite sua senha senha: ")) | |||
if (users[-1] in users [0:-1]): | |||
print("User j� escolhido! :(") | |||
print("Realize seu cadastro") | |||
users.append(input("Digite seu nome de usu�rio: ")) | |||
senhausers.append(input("Digite sua senha senha: ")) | |||
else: | |||
print ("Cadastro Realizado") | |||
goto(3) | |||
arquivo.writelines(users) | |||
arquivo.writelines(senhausers) | |||
arquivo.close() | |||
elif line ==3: | |||
print ("Realize o seu login!") | |||
nomeuser=input("Digite o nome de usu�rio: ") | |||
senhauser=input("Digite sua senha: ") | |||
if (nomeuser in donos and senhauser=="04572" and i<1): | |||
i+=1 | |||
while(True): | |||
Op = int(input('Funcionalidades:\n1.Cadastrar Perguntas/respostas\n2.Pesquisar d�vidas\n3.Perguntas mais frequentes\n4.Contato de Coordena��es/institui��es e Sites importantes\n5.Sobre n�s\n6.Sair\nDigite a op��o desejada:')) | |||
if Op == 1: | |||
arquivo = open('arquivofaq.txt','a') | |||
print("Cadastro de perguntas e Respostas!") | |||
print("Palavras chaves dispon�veis:\n1.Matr�cula\n2.Atividades extracurriculares") | |||
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: ")) | |||
if (pal_chave==1): | |||
pergunta_mat.append(input("\nPergunta: ")) | |||
resposta_mat.append(input("\nResposta: ")) | |||
elif (pal_chave==2): | |||
pergunta_atv.append(input("\nPergunta: ")) | |||
resposta_atv.append(input("\nResposta: ")) | |||
else: | |||
print ("Palavra chave inv�lida") | |||
arquivo.writelines(pergunta_mat) | |||
arquivo.writelines(resposta_mat) | |||
arquivo.writelines(pergunta_atv) | |||
arquivo.writelines(resposta_atv) | |||
arquivo.close() | |||
if Op==2: | |||
print ("Fun��o de pesquisa de Perguntas!") | |||
print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis: \n1.Matr�cula\n2.Atividades Extracurriculares") | |||
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: ")) | |||
while (pal_chave==1 and y<len(pergunta_mat)): | |||
arquivo = open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[y],resposta_mat[y])) | |||
y+=1 | |||
nmat+=1 | |||
arquivo.close() | |||
while (pal_chave==2 and j<len(pergunta_atv)): | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[j],resposta_atv[j])) | |||
j+=1 | |||
natv+=1 | |||
arquivo.close() | |||
if Op==3: | |||
y=0 | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
print ("Perguntas mais frequentes") | |||
while (k<len(pergunta_mat) and (nmat>natv)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[k],resposta_mat[k])) | |||
k+=1 | |||
while (a<len(pergunta_atv) and (natv>nmat)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[a],resposta_atv[a])) | |||
a+=1 | |||
arquivo.close() | |||
if Op==4: | |||
print ("Contato de Coordena��es e Institui��es, sites importantes\nOp��es:\n1. Para cadastrar novos Contatos\n2.Para cadastrar novos Sites\n3.Para visualizar contatos j� cadastrados\n4.Para visualizar sites j� cadastrados") | |||
op2=int(input("Digite o n�mero referente a op��o que deseja: ")) | |||
if (op2==1): | |||
arquivo = open('arquivofaq.txt','a') | |||
print("Cadastro de Contatos!") | |||
contatos.append(input("\nDigite o Nome do Contato: ")) | |||
ncontatos.append(input("\nDigite o n�mero do contato: ")) | |||
elif (op2==2): | |||
print ("Cadastro de novos Sites importantes!") | |||
sites.append(input("\nDigite o nome do Site: ")) | |||
nsites.append(input("\nDigite o endere�o do Site: ")) | |||
arquivo.writelines(contatos) | |||
arquivo.writelines(ncontatos) | |||
arquivo.writelines(sites) | |||
arquivo.writelines(nsites) | |||
arquivo.close() | |||
elif (op2==3): | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
while (w<len(contatos)): | |||
print ("Contato: %s\n%s" %(contatos[w], ncontatos[w])) | |||
w+=1 | |||
arquivo.close() | |||
elif (op2==4): | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
while (u<len(sites)): | |||
print ("Site: %s\n%s" %(sites[u], nsites[u])) | |||
u+=1 | |||
arquivo.close() | |||
if Op==5: | |||
print ("Sobre n�s!\n%s"%(sobre_nos)) | |||
if Op==6: | |||
break | |||
print ("Sair") | |||
while (1>Op or Op>6): | |||
print ("Fun��o inv�lida") | |||
elif (nomeuser not in users or nomeuser not in donos and senhauser not in senhausers) : | |||
try: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
except ValueError: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
elif (nomeuser in donos and senhauser!="04572"): | |||
try: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
except ValueError: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
elif (nomeuser in users and users.index(nomeuser)!=senhausers.index(senhauser)): | |||
try: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
except ValueError: | |||
print ("Usu�rio ou senha inv�lidos") | |||
goto(1) | |||
elif (nomeuser not in donos and users.index(nomeuser)==senhausers.index(senhauser)): | |||
while(True and i<1): | |||
i+=1 | |||
while(True): | |||
Op = int(input('Funcionalidades:\n1.Pesquisar d�vidas\n2.Perguntas mais frequentes\n3.Contato de Coordena��es/institui��es e Sites importantes\n4.Sobre n�s\n5.Sair\nDigite a op��o desejada:')) | |||
if Op == 1: | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
print ("Fun��o de pesquisa de Perguntas!") | |||
print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis:\n1.Matr�cula\n2.Atividades Extracurriculares") | |||
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: ")) | |||
while (pal_chave==1 and b<len(pergunta_mat)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[b],resposta_mat[b])) | |||
b+=1 | |||
nmat+=1 | |||
while (pal_chave==2 and c<len(pergunta_atv)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[c],resposta_atv[c])) | |||
c+=1 | |||
natv+=1 | |||
arquivo.close() | |||
if Op==2: | |||
arquivo = open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
y=0 | |||
print ("Perguntas mais frequentes") | |||
while (d<len(pergunta_mat) and (nmat>natv)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[d],resposta_mat[d])) | |||
d+=1 | |||
while (e<len(pergunta_atv) and (natv>nmat)): | |||
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[e],resposta_atv[e])) | |||
e+=1 | |||
arquivo.close() | |||
if Op==3: | |||
arquivo=open('arquivofaq.txt','r') | |||
arquivo.readline() | |||
print ("Contato de Coordena��es e Institui��es, sites importantes") | |||
while (f<len(contatos)): | |||
print ("Contato: %s\n%s" %(contatos[f], ncontatos[f])) | |||
f+=1 | |||
while (g<len(sites)): | |||
print ("Site: %s\n%s" %(sites[g], nsites[g])) | |||
g+=1 | |||
arquivo.close() | |||
if Op==4: | |||
print ("Sobre n�s!\n%s"%(sobre_nos)) | |||
if Op==5: | |||
print ("Sair") | |||
break | |||
while (1>Op or Op>5): | |||
print ("Fun��o inv�lida") | |||
Op=int(input('Digite a op��o desejada:')) | |||
</syntaxhighlight> | |||
Edição atual tal como às 02h17min de 14 de julho de 2018
Escopo
- O FAQ discente visa atender alunos de escolas e universidades com o objetivo de esclarecer dúvidas relacionadas ao cotidiano acadêmico através de um ambiente interativo que possibilita cadastro de informações e perguntas.
Funcionalidades
- Pesquisar dúvidas
- Cadastrar Perguntas/respostas
- Avaliar Perguntas/Respostas
- Contato de Coordenações/instituições
- Top 10 perguntas mais frequentes
- Cadastro de alunos
- Sites importantes
Código
<syntaxhighlight lang="python3">
- C�digo fonte, adicionado os comandos de tratamento de arquivo
- Ao abrir e fechar o programa, os dados salvos desaparecem
print("Bem vindo ao FAQ discente!") arquivo = open('arquivofaq.txt', 'w') donos=["Jos�",'\n',"Fl�vio",'\n',"Vit�ria",'\n',"Sabrina",'\n'] users=[] senhausers=[] sites=[] nsites=[] contatos=[] ncontatos=[] pergunta_mat = [] resposta_mat = [] pergunta_atv= [] resposta_atv= [] arquivo.writelines(donos) arquivo.writelines(users) arquivo.writelines(senhausers) arquivo.writelines(sites) arquivo.writelines(nsites) arquivo.writelines(contatos) arquivo.writelines(ncontatos) arquivo.writelines(pergunta_mat) arquivo.writelines(resposta_mat) arquivo.writelines(pergunta_atv) arquivo.writelines(resposta_atv) arquivo.close() pal_chave=1 nmat=0 natv=0 y=0 teste=0 i=0 op2=0 a=0 b=0 c=0 d=0 e=0 f=0 g=0 h=0 j=0 k=0 nomeuser="a" ndeuser=0 nacesso=0 w=0 u=0 arquivo = open('arquivofaq.txt', 'a') sobre_nos="O FAQ discente visa atender alunos de escolas e universidades com o objetivo de esclarecer d�vidas relacionadas ao cotidiano acad�mico atrav�s de um ambiente interativo que possibilita cadastro de informa��es e perguntas.\nQualquer d�vida, entre em contato: jose.gomide@ufu.br\n" arquivo.writelines(sobre_nos) arquivo.close() def goto(linenum):
global line line = linenum
line=1 while (True):
if line==1:
entrada=int(input("Deseja fazer: \n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: "))
if entrada == 1:
goto(2)
elif entrada == 2:
goto(3)
while (entrada<1 or entrada >2 and i<1):
print("Fun��o inv�lida")
entrada=int(input("Deseja fazer:\n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: "))
i+=1
if (line==2):
print("Realize seu cadastro!")
arquivo = open('arquivofaq.txt','a')
users.append(input("Digite seu nome de usu�rio: "))
users.append('\n')
senhausers.append(input("Digite sua senha senha: "))
if (users[-1] in users [0:-1]):
print("User j� escolhido! :(")
print("Realize seu cadastro")
users.append(input("Digite seu nome de usu�rio: "))
senhausers.append(input("Digite sua senha senha: "))
else:
print ("Cadastro Realizado")
goto(3)
arquivo.writelines(users)
arquivo.writelines(senhausers)
arquivo.close()
elif line ==3:
print ("Realize o seu login!")
nomeuser=input("Digite o nome de usu�rio: ")
senhauser=input("Digite sua senha: ")
if (nomeuser in donos and senhauser=="04572" and i<1):
i+=1
while(True):
Op = int(input('Funcionalidades:\n1.Cadastrar Perguntas/respostas\n2.Pesquisar d�vidas\n3.Perguntas mais frequentes\n4.Contato de Coordena��es/institui��es e Sites importantes\n5.Sobre n�s\n6.Sair\nDigite a op��o desejada:'))
if Op == 1:
arquivo = open('arquivofaq.txt','a')
print("Cadastro de perguntas e Respostas!")
print("Palavras chaves dispon�veis:\n1.Matr�cula\n2.Atividades extracurriculares")
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
if (pal_chave==1):
pergunta_mat.append(input("\nPergunta: "))
resposta_mat.append(input("\nResposta: "))
elif (pal_chave==2):
pergunta_atv.append(input("\nPergunta: "))
resposta_atv.append(input("\nResposta: "))
else:
print ("Palavra chave inv�lida")
arquivo.writelines(pergunta_mat)
arquivo.writelines(resposta_mat)
arquivo.writelines(pergunta_atv)
arquivo.writelines(resposta_atv)
arquivo.close()
if Op==2:
print ("Fun��o de pesquisa de Perguntas!")
print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis: \n1.Matr�cula\n2.Atividades Extracurriculares")
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
while (pal_chave==1 and y<len(pergunta_mat)):
arquivo = open('arquivofaq.txt','r')
arquivo.readline()
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[y],resposta_mat[y]))
y+=1
nmat+=1
arquivo.close()
while (pal_chave==2 and j<len(pergunta_atv)):
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[j],resposta_atv[j]))
j+=1
natv+=1
arquivo.close()
if Op==3:
y=0
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
print ("Perguntas mais frequentes")
while (k<len(pergunta_mat) and (nmat>natv)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[k],resposta_mat[k]))
k+=1
while (a<len(pergunta_atv) and (natv>nmat)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[a],resposta_atv[a]))
a+=1
arquivo.close()
if Op==4:
print ("Contato de Coordena��es e Institui��es, sites importantes\nOp��es:\n1. Para cadastrar novos Contatos\n2.Para cadastrar novos Sites\n3.Para visualizar contatos j� cadastrados\n4.Para visualizar sites j� cadastrados")
op2=int(input("Digite o n�mero referente a op��o que deseja: "))
if (op2==1):
arquivo = open('arquivofaq.txt','a')
print("Cadastro de Contatos!")
contatos.append(input("\nDigite o Nome do Contato: "))
ncontatos.append(input("\nDigite o n�mero do contato: "))
elif (op2==2):
print ("Cadastro de novos Sites importantes!")
sites.append(input("\nDigite o nome do Site: "))
nsites.append(input("\nDigite o endere�o do Site: "))
arquivo.writelines(contatos)
arquivo.writelines(ncontatos)
arquivo.writelines(sites)
arquivo.writelines(nsites)
arquivo.close()
elif (op2==3):
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
while (w<len(contatos)):
print ("Contato: %s\n%s" %(contatos[w], ncontatos[w]))
w+=1
arquivo.close()
elif (op2==4):
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
while (u<len(sites)):
print ("Site: %s\n%s" %(sites[u], nsites[u]))
u+=1
arquivo.close()
if Op==5:
print ("Sobre n�s!\n%s"%(sobre_nos))
if Op==6:
break
print ("Sair")
while (1>Op or Op>6):
print ("Fun��o inv�lida")
elif (nomeuser not in users or nomeuser not in donos and senhauser not in senhausers) :
try:
print ("Usu�rio ou senha inv�lidos")
goto(1)
except ValueError:
print ("Usu�rio ou senha inv�lidos")
goto(1)
elif (nomeuser in donos and senhauser!="04572"):
try:
print ("Usu�rio ou senha inv�lidos")
goto(1)
except ValueError:
print ("Usu�rio ou senha inv�lidos")
goto(1)
elif (nomeuser in users and users.index(nomeuser)!=senhausers.index(senhauser)):
try:
print ("Usu�rio ou senha inv�lidos")
goto(1)
except ValueError:
print ("Usu�rio ou senha inv�lidos")
goto(1)
elif (nomeuser not in donos and users.index(nomeuser)==senhausers.index(senhauser)):
while(True and i<1):
i+=1
while(True):
Op = int(input('Funcionalidades:\n1.Pesquisar d�vidas\n2.Perguntas mais frequentes\n3.Contato de Coordena��es/institui��es e Sites importantes\n4.Sobre n�s\n5.Sair\nDigite a op��o desejada:'))
if Op == 1:
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
print ("Fun��o de pesquisa de Perguntas!")
print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis:\n1.Matr�cula\n2.Atividades Extracurriculares")
pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
while (pal_chave==1 and b<len(pergunta_mat)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[b],resposta_mat[b]))
b+=1
nmat+=1
while (pal_chave==2 and c<len(pergunta_atv)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[c],resposta_atv[c]))
c+=1
natv+=1
arquivo.close()
if Op==2:
arquivo = open('arquivofaq.txt','r')
arquivo.readline()
y=0
print ("Perguntas mais frequentes")
while (d<len(pergunta_mat) and (nmat>natv)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[d],resposta_mat[d]))
d+=1
while (e<len(pergunta_atv) and (natv>nmat)):
print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[e],resposta_atv[e]))
e+=1
arquivo.close()
if Op==3:
arquivo=open('arquivofaq.txt','r')
arquivo.readline()
print ("Contato de Coordena��es e Institui��es, sites importantes")
while (f<len(contatos)):
print ("Contato: %s\n%s" %(contatos[f], ncontatos[f]))
f+=1
while (g<len(sites)):
print ("Site: %s\n%s" %(sites[g], nsites[g]))
g+=1
arquivo.close()
if Op==4:
print ("Sobre n�s!\n%s"%(sobre_nos))
if Op==5:
print ("Sair")
break
while (1>Op or Op>5):
print ("Fun��o inv�lida")
Op=int(input('Digite a op��o desejada:'))
</syntaxhighlight>