Daha
Python'da Menü Oluşturma
Python'da bir menü yapmak için çalışıyorum:
- Numaralandırılmış seçenekler içeren bir menü yazdırın
- Kullanıcının numaralı bir seçenek girmesine izin verin
- Kullanıcının seçtiği seçenek numarasına bağlı olarak, o eyleme özgü bir işlev çalıştırın. Şimdilik, fonksiyonunuz sadece çalıştırıldığını yazdırabilir.
- Kullanıcı geçersiz bir şey girerse, kullanıcıya bunu yaptığını söyler ve menüyü yeniden görüntüler
- Menü seçeneklerini saklamak için bir sözlük kullanın; anahtar olarak seçeneğin numarası ve değer olarak da bu seçenek için görüntülenecek metin.
- Tüm menü sistemi bir döngü içinde çalışmalı ve kullanıcı exit/quit seçeneğini seçene kadar seçim yapmasına izin vermeye devam etmelidir, bu noktada programınız sona erebilir.
Python'da yeniyim ve kodda neyi yanlış yaptığımı anlayamıyorum.
Şimdiye kadarki kodum bu:
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")
CEVAPLANDI
Görünüşe göre istediği buydu:
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
Sadece birkaç küçük değişiklik yapılması gerekiyordu:
Dört tırnak işaretini üç olarak değiştirdim (bu çok satırlı tırnak işaretleri için gereken sayıdır),
"What would you like to do? "
ifadesinden sonra bir kapama parantezi ekledim ve input ifadesini raw_input olarak değiştirdim.Bu işe yaramalı. Bir
)
eksikti ve sadece"""
a ihtiyacınız var, 4 tanesine değil. Ayrıca sonunda bir elif'e de ihtiyacınız yok.