Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Dúvida] erro no os.system('clear')

Olá, meu codigo esta dando erro na função os.system('clear'), estou usando o GBD online para programar, poderia ser esse o problema? segue o codigo:

import os

def exibir_nome_do_programa():
print("""
░██████╗░█████╗░██████╗░░█████╗░██████╗░  ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗  ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝  █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗  ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║  ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝  ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░
""")

def exibir_opcoes():
print('1. Cadastrar restaurante')
print('2. Listar restaurantes')
print('3. Ativar restaurante')
print('4. Sair\n')

def finalizar_app():

os.system('clear')
print('Encerrando o app\n')

def escolher_opcao():
opcao_escolhida = int(input('Escolha uma opção: '))

if opcao_escolhida == 1:
    print('Cadastrar Restaurante')
elif opcao_escolhida == 2:
    print('Listar restaurantes')
elif opcao_escolhida == 3:
    print('Ativar restaurante')
else: 
    finalizar_app()

def main():
exibir_nome_do_programa()
exibir_opcoes()
escolher_opcao()

if name == 'main':
main()
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Alessandro! Como vai?

Com base no que você explicou, o problema pode estar no ambiente em que o código está sendo executado. Muitos compiladores online não suportam o comando os.system('clear'), pois ele depende do terminal do sistema operacional. Também vale conferir o final do código, pois o correto é usar if __name__ == '__main__':, já que name causará erro.

Uma dica interessante para o futuro é verificar em qual sistema operacional o programa está rodando e usar o comando adequado para limpar a tela. Veja este exemplo:


import os

if os.name == 'nt':
    os.system('cls')
else:
    os.system('clear')

Esse código identifica o sistema operacional e utiliza o comando correto para limpar o terminal.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!