Hi programmers! I am new in the forum and in Python.
I am programming a library whose function is to store books and comics and display data from them by screen.
Since I added some restrictions for some methods, the "Comic" class does not work for me, and the error it gives me I can not understand.
I'm programming with Atom and my terminal to run it.
The error in Terminal:
I am programming a library whose function is to store books and comics and display data from them by screen.
Since I added some restrictions for some methods, the "Comic" class does not work for me, and the error it gives me I can not understand.
I'm programming with Atom and my terminal to run it.
The error in Terminal:
Error:File "USO_BIBLIOTECA.py", line 4, in <module>
from BIBLIOTECA import *
File ... line 134, in <module>
comic = Comic()
File ... line 128, in __init__
libro.setAutor(self)
File ... line 67, in setAutor
if re.fullmatch(regex, new_autor):
File ... line 168, in fullmatch
return _compile(pattern, flags).fullmatch(string)
TypeError: expected string or bytes-like object
The error in Atom:Error:File ... line 134, in <module> comic = Comic()
File ... line 128, in __init__
libro.setAutor(self)
File ... line 67, in setAutor
if re.fullmatch(regex, new_autor):
AttributeError: 'module' object has no attribute 'fullmatch'
The code of my program is:import re class Biblioteca(): def __init__(self, tituloLibro, tituloComic): self.tituloLibro = tituloLibro self.tituloComic = tituloComic def setLibro(self, new_libro): self.tituloLibro = new_libro def setComic(self, new_comic): self.tituloComic = new_comic def getLibro(self): return self.tituloLibro def getComic(self): return self.tituloComic class Libro(): def __init__(self): self.autor = "" self.editorial = "" self.idioma = "" self.paginasLeidas = 0 self.paginasTotales = 0 def setAutor(self, new_autor): regex = "[^\d\s]+( [^\d\s]+)*" if re.fullmatch(regex, new_autor): self.autor = new_autor else: print("\n\n ****** ERROR ******") self.autor = "" def setEditorial(self, new_editorial): regex = "[^\d\s]+( [^\d\s]+)*" if re.fullmatch(regex, new_editorial): self.editorial = new_editorial else: print("\n\n ****** ERROR ******") self.editorial = "" def setIdioma(self, new_idioma): regex = "[^\d\s]+( [^\d\s]+)*" if re.fullmatch(regex, new_idioma): self.idioma = new_idioma else: print("\n\n ****** ERROR ******") self.idioma = "" def setPaginasLeidas(self, new_paginasLeidas): try: self.paginasLeidas = int(new_paginasLeidas) except ValueError: print("\n\n ****** ERROR ******") self.paginasLeidas = 0 def setPaginasTotales(self, new_paginasTotales): try: self.paginasTotales = int(new_paginasTotales) except ValueError: print("\n\n ****** ERROR ******") self.paginasLeidas = 0 def getAutor(self): return self.autor def getEditorial(self): return self.editorial def getIdioma(self): return self.idioma def getPaginasLeidas(self): return self.paginasLeidas def getPaginasTotales(self): return self.paginasTotales libro = Libro() class Comic(Libro): def __init__(self): Libro.__init__(self) libro.setAutor(self) libro.setEditorial(self) libro.setIdioma(self) libro.setPaginasLeidas(self) libro.setPaginasTotales(self) comic = Comic()Thanks in advance.