Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema na f-string

Olá, pessoal. Tudo jóia?

Estou com problemas nesta linha do código:

def listar_restaurantes():
    print(f'{'Nome do restaurante'.ljust(25)} | {'Categoria'.ljust(25)} | {'Status'}')
    for restaurante in Restaurante.restaurantes:
        print(f'{restaurante.nome.ljust(25)} | {restaurante.categoria.ljust(25)} | {restaurante.ativo}')

Na segunda linha aparece para mim o seguinte erro:

Strings nested within an f-string cannot use the same quote character as the f-string prior to Python 3.12Pylance

O que será que pode ser?

Valeeu!

2 respostas
solução!

Opa Matheus, tudo certo ?! O erro que ta constando pra você sobre a f-string é dado devido às aspas no print(f'....') de cima.

Para resolver seu erro basta alterar as aspas das extremidade no print para uma aspas dupla

print(f"{'Nome do restaurante'.ljust(25)} | {'Categoria'.ljust(25)} | {'Status'}")

sendo assim, o código ficaria assim:

def listar_restaurantes():
    print(f"{'Nome do restaurante'.ljust(25)} | {'Categoria'.ljust(25)} | {'Status'}")
    for restaurante in Restaurante.restaurantes:
        print(f"{restaurante.nome.ljust(25)} | {restaurante.categoria.ljust(25)} | {restaurante.ativo}")

Isso ocorre pois não deve haver aspas do mesmo tipo dentro da mesma string, como as da extremidade em relação ao 'Nome do restaurante'. Cujo são aspas unicas, por isso alternamos para aspas duplas

Valeu, Pedro. Muito obrigado!