alphasil Posted January 13, 2017 at 04:55 PM Report #601993 Posted January 13, 2017 at 04:55 PM Olá Será que alguém me poderia dar-me uma dica. Estou a fazer uma select a uma tabela de uma base de dados, funciona, mas aparecem todos os registos seguidos o que torna a leitura impossível, será que poderia usar uma funcção qualquer que me listasse 10 de cada vez...em que para mudar para os seguintes 10 carregava em enter (uma ideia) Este é o código que tenho def getAllPerguntasDB(self): query = "SELECT p.id_pergunta,t.tema,d.grau,p.pergunta,p.op1,p.op2,p.op3,p.op4,p.correto FROM perguntas AS p INNER JOIN temas AS t ON (p.id_tema = t.id_tema) INNER JOIN dificuldade AS d ON (p.id_grau = d.id_grau) ORDER BY t.tema, d.grau ASC;" self.cur.execute(query) self.result = self.cur.fetchall() for row in self.result: id_pergunta = row[0] tema = row[1] grau = row[2] pergunta = row[3] op1 = row[4] op2 = row[5] op3 = row[6] op4 = row[7] correto= row[8] print('---------------------------------------------------------------------------------------') print("id: ", id_pergunta) print("Tema:",tema,"\tGrau:",grau) print("Pergunta: ", pergunta) print("Opção 1: ", op1, "\tOpção 2: ", op2, "\tOpção 3: ", op3, "\tOpção 4: ", op4) print("Resposta Correta: ", correto) print('---------------------------------------------------------------------------------------') Obrigado gmc11
pwseo Posted February 5, 2017 at 03:28 PM Report #602348 Posted February 5, 2017 at 03:28 PM @alphasil Há várias formas de resolver o teu problema. A solução que se segue utiliza generators (coisas interessantes da linguagem Python) e faz o que pretendes: #!/usr/bin/python3 def nextN(xs, n = 10): a = iter(xs) while True: yield [ next(a) for _ in range(n) ] for xs in nextN(range(15), n = 4): for x in xs: print(x) print('Press enter to continue...') input() Espero ter-te ajudado.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now