Erro __init__() missing 1 required: lista encadeada

1 resposta
L

Boa tarde a todos, estou tentando fazer um cod, mas apresenta o seguinte erro: init() missing 1 required positional argument: ‘nome_posto’

Segue o cod abaixo:
class Posto:
qtd_estudantes=None
vacinas_sobra=None
tarefa_prox = None
nome_posto = None
tarefa_anterior = None

def __init__(self, qtd_estudantes, vacinas_sobra, nome_posto):
    self.qtd_estudantes=qtd_estudantes
    self.vacinas_sobra=vacinas_sobra
    self.nome_posto = nome_posto
def criar_posto():

global pri, ult

print("-------------- CRIANDO POSTO!")

nome_posto = input("Nome do Posto: ")

qtd_estudantes = int(input("Quantidade de estudantes: "))
nova = Posto(nome_posto, qtd_estudantes)

if pri == None:
    pri = nova
    ult = pri
else:
    ult.proximo(nova)
    ult = nova
    ult.proximo(None)

print("Posto adicionado com sucesso!")
def entrega():

global pri, aux, ult,doses_disponiveis

if pri == None:

print(“Não existem tarefas a serem exibidas”)

else:

aux = pri

while aux != None:

doses_disponiveis=doses_disponiveis-aux.qtd_estudantes-aux.qtd_estudantes<em>0.02

aux.vacinas_sobra=qtd_estudantes</em>0.02

aux = aux.retorna_proxima_tarefa()

pri = None
ult = None
aux = None
doses_disponiveis=2000

def devolucao():

global ult, aux, doses_disponiveis

if ult == None:

print(Não existe posto cadastrado)

else:

aux = ult

while aux != None:

doses_disponiveis = doses_disponiveis + aux.qtd_estudantes * 0.02

aux.vacinas_sobra = qtd_estudantes * 0.02

#aux = aux.retorna_tarefa_anterior()
if <strong>name</strong> == <strong>main</strong>’:

op = -1

while op != 0:

print(“1- Criar Posto”)

print(“2- Exibir Posto”)

print(“3- Localizar Posto”)

print(“4- Editar Posto”)

print(“5- Inserir após”)

print(“0- Sair”)

op = int(input("> "))

if op == 1:

criar_posto()

1 Resposta

A

Nao me parece que seu problema tenha nada a ver com listas encadeadas.

A mensagem diz:
missing 1 required positional argument: ‘nome_posto’

Nessa linha:

nova = Posto(nome_posto, qtd_estudantes)

Essa linha está chamando o construtor da classe Posto, que foi definido assim:

def __init__(self, qtd_estudantes, vacinas_sobra, nome_posto):

Você diz que o método espera 3 argumentos (qtd_estudantes, vacinas_sobra e nome_posto), mas está passando 2 (nome_posto e qtd_estudantes) e fora de ordem.

Criado 23 de setembro de 2019
Ultima resposta 23 de set. de 2019
Respostas 1
Participantes 2