1
resposta

[Dúvida] pressione uma tecla para voltar ao menu inicial

Esse comando de "pressione uma tecla para voltar ao menu inicial" só funciona com a tecla ENTER (pelo menos no meu pc), não deveria funcionar com qualquer tecla (se levarmos o comando ao pé da letra)?

1 resposta

Olá, Priscylla! Tudo bem?

No entanto, no contexto do código apresentado na aula, a função input() do Python está sendo usada para pausar o programa até que o usuário pressione a tecla ENTER.

Vamos analisar o trecho do código:

def opcao_invalida():
    print('Opção Inválida!\n')
    input('Digite uma tecla para voltar ao menu principal')
    main()

Neste caso, a função input() está sendo usada para pausar o programa e aguardar que o usuário pressione a tecla ENTER. O texto que aparece entre parênteses é apenas uma mensagem para o usuário, não afeta o comportamento da função. Portanto, mesmo que a mensagem peça para o usuário pressionar qualquer tecla, o programa só continuará quando a tecla ENTER for pressionada.

Se você quiser que o programa continue com qualquer tecla pressionada, terá que usar uma biblioteca específica para isso, como a msvcrt (apenas para Windows) ou a curses (para Linux). No entanto, essas bibliotecas são um pouco mais complexas e podem não ser adequadas para um iniciante em Python.

Aqui está um exemplo de como você poderia fazer isso com a biblioteca msvcrt:

import msvcrt

def opcao_invalida():
    print('Opção Inválida!\n')
    print('Pressione qualquer tecla para voltar ao menu principal')
    msvcrt.getch()  # Aguarda o usuário pressionar qualquer tecla
    main()

Lembre-se que essa solução só funcionará em sistemas Windows e pode apresentar comportamentos inesperados em outros sistemas operacionais.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.