Estoy intentando aprender python 3,x por mi cuenta y riesgo, y es muy frustrante no tener a nadie a quien ir preguntando las dudas y seguir chocando en los mismos errores.
Os cuento, intentando aprender haciendo una pequeña aplicación pero estoy atascado, mi problema puede parecer una chorrada, pero la idea es arreglar esa chorrada para aprender. No le doy mas vueltas....
Estoy haciendo un menú que me pregunta el tema a tratar para que me lea unos test que tengo en excel, después me pregunta cuantas preguntas quiero, y luego empieza las preguntas.
Quiero reutilizar código y ahí es donde empieza mi problema.
El código se ejecuta y pregunta tema, elijo la respuesta D por ejemplo y me dice que ha cargado el archivo correspondiente y hace una segunda ronda cambiando parámetros para que las opciones no sean temas si no numero de preguntas
Luego sale una frase que dice va a comenzar el tes de x preguntas sobre Y tema
Pues bien en esa frase, para poner el tema me utiliza el valor de la primera pasada de código .
Le podéis echar un vistazo y orientarme un poco ?
Muchas gracias de antemano !!
Código:
import openpyxl import random selecciona = ["Seleciona el Tema de los test :", "Cuantas preguntas quieres en el Test"] temas = ["a) Conocimientos Generales ", "b) Derecho ", "c) Factores Humanos", "d) Meteorología", "e) Navegtacióbn", "f) Performances", "g) Principios Operacionales", "h) Principios de vuelo","q) Salir","a) 10", "b) 20","c) 30","d) 40","e) 50","f) 60","g) 70","h) 80"] respuestas = ["a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","q","Q"] archivo = ['Test/CGA.xlsx','Test/DA.xlsx','Test/FH.xlsx','Test/ME.xlsx','Test/NV.xlsx','Test/PE.xlsx','Test/PO.xlsx','Test/PV.xlsx'] comienza = ["Comienza Test de","preguntas aleatorias de"] class Selec_tema(): def __init__(self,m,n,l): self.m = m self.n = n self.l = l print (selecciona[l]) for tema in temas[self.m:self.n]: print (tema) self.elige() def elige(self): seleccion = input() while not (seleccion in respuestas[0:18]): print ("Seleción no valida") seleccion = input() self.comprueba(seleccion) def comprueba(self,seleccion): if seleccion in ("a","A"): self.accion(0) elif seleccion in ("b","B"): self.accion(1) elif seleccion in ("c","C"): self.accion(2) elif seleccion in ("d","D"): self.accion(3) elif seleccion in ("e","E"): self.accion(4) elif seleccion in ("f","F"): self.accion(5) elif seleccion in ("g","G"): self.accion(6) elif seleccion in ("h","H"): self.accion(7) elif seleccion in ("q","Q"): print ("Adios") def accion(self,pos): while self.l == 0: self.carga(archivo[pos]) self.limpia() numero_preguntas = (pos +1) * 10 self.empieza(pos,numero_preguntas) def carga(self,str): print ("archivo cargado") cga = openpyxl.load_workbook(str) hoja_cga = cga.get_sheet_by_name('Hoja 1') p = Selec_tema(9,17,1) def empieza(self,pos,numero_preguntas): print (comienza[0],numero_preguntas,comienza[1],"".join(temas[pos])[3:]) r = Test(numero_preguntas) def limpia(self): for limpia in range(25): print ("") class Test(): def __init__(self,numero_preguntas): self.numero_preguntas = numero_preguntas print (numero_preguntas) # self.mostrar_preguntas() def mostrar_preguntas(self): print ( p.hoja_cga["F2"].value) def mostrar_respuestas(self): pass def comprobar_respiuesta(self): pass def puntuacion(self): pass def run(self): pass p = Selec_tema(0,9,0)