3
respostas

Pasta de origem não encontrada

Olá pessoal! Estou com um problema em meu código no Python, onde o VS Code não reconhece a pasta que estou importado. Conseguiriam me ajudar?

from modelos.avaliacao import avaliacao

class Restaurante:
    restaurantes = []

    def __init__(self, nome, categoria):
        self._nome = nome.title()
        self.categoria = categoria.upper()
        self._ativo = False
        self.avaliacao = []
        Restaurante.restaurantes.append(self)

    def __str__(self):
        return f'{self._nome} | {self.categoria}'

    @classmethod
    def listar_restaurantes(cls):
        print(f'{"Nome do restaurante".ljust(25)} | {"Categoria".ljust(25)} | {'Avaliação'.ljust(25)} | {"Status"}')
        for restaurante in cls.restaurantes:
            print(f'{restaurante._nome.ljust(25)} | {restaurante.categoria.ljust(25)} | {restaurante.media_avaliacao} | {restaurante.ativo}')

    @property
    def ativo(self):
        return '☑' if self._ativo else '☐'

    def alternar_estado(self):
        self._ativo = not self._ativo

    def receber_avaliacao(self, cliente, nota):
        avaliacao = avaliacao(cliente, nota)
        self.avaliacao.append(avaliacao)

    @property
    def media_avaliacoes(self): 
        if not self._avaliacao:
            return 0
        soma_das_notas = sum(avaliacao._nota for avaliacao in avaliacao)
        quantidade_de_notas = len(self.avaliacao)
        media = round(soma_das_notas / quantidade_de_notas, 1)
        return media

class avaliacao: 
    def __init__(self, cliente, nota):
        self._cliente = cliente 
        self._nota = nota
from modelos.restaurante import Restaurante 

restaurante_praca = Restaurante('Praça', 'Gourmet')
restaurante_praca.receber_avaliacao('Gui', 10)
restaurante_praca.receber_avaliacao('Lais', 8)
restaurante_praca.receber_avaliacao('Emy', 5)


def main():
    Restaurante.listar_restaurantes()

if __name__ == '__main__':
    main()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Você já tentou usar:

"from .avaliacao import avaliacao"

No lugar de

"from modelos.avaliacao import avaliacao"

Em seu arquivo restaurante.py?

já tentei sim, aparece o seguinte erro: line 1, in from .avaliacao import avaliacao ImportError: attempted relative import with no known parent package

O que seria esse segundo avaliacao?

Uma dica é que classe se escrevem com a primeira letra maiuscula.