Mais
Criação de um Menu em Python
I'estou a trabalhar na elaboração de um menu em python que precisa de ser feito:
- Imprimir um menu com opções numeradas
- Deixar o utilizador introduzir uma opção numerada
- Dependendo do número da opção que o utilizador escolher, executar uma função específica para essa acção. Por agora, a sua função pode apenas imprimir que ela's esteja a ser executada.
- Se o utilizador entrar em algo inválido, diz ao utilizador que o fez, e volta a exibir o menu
- utilizar um dicionário para guardar opções de menu, com o número da opção como chave, e o texto a exibir para essa opção como valor.
- Todo o sistema de menu deve correr dentro de um loop e continuar a permitir que o utilizador faça escolhas até seleccionar sair/sair, altura em que o seu programa pode terminar.
I'sou novo em Python, e não consigo'não consigo perceber o que fiz de errado com o código.
Até agora, este é o meu código:
ans=True
while ans:
print (""""
1.Add a Student
2.Delete a Student
3.Look Up Student Record
4.Exit/Quit
"""")
ans=input("What would you like to do?"
if ans=="1":
print("\nStudent Added")
elif ans=="2":
print("\n Student Deleted")
elif ans=="3":
print("\n Student Record Found")
elif ans=="4":
print("\n Goodbye")
elif ans !="":
print("\n Not Valid Choice Try again")
RESPOSTA
Isto era o que ele aparentemente queria:
menu = {}
menu['1']="Add Student."
menu['2']="Delete Student."
menu['3']="Find Student"
menu['4']="Exit"
while True:
options=menu.keys()
options.sort()
for entry in options:
print entry, menu[entry]
selection=raw_input("Please Select:")
if selection =='1':
print "add"
elif selection == '2':
print "delete"
elif selection == '3':
print "find"
elif selection == '4':
break
else:
print "Unknown Option Selected!"
12
3
Foram apenas necessárias algumas pequenas emendas:
Mudei as quatro citações para três (este é o número necessário para citações multilinhas), acrescentei um parêntese de fecho após
"O que gostaria de fazer? "
e alterei a entrada para raw_input.Isto deve ser suficiente. Faltava-lhe um
)
e só precisa de""""
e não 4 deles. Também não precisa't precisa de um elif no final.