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)?
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)?
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!