私はpythonで必要なメニューを作成しています:
私はPythonが初めてで、コードで何が間違っていたかわかりません。
これまでのところ、これは私のコードです:
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")
回答済み
これは明らかに彼が望んでいたものです:
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!"
def my_add_fn():
print "SUM:%s"%sum(map(int,raw_input("Enter 2 numbers seperated by a space").split()))
def my_quit_fn():
raise SystemExit
def invalid():
print "INVALID CHOICE!"
menu = {"1":("Sum",my_add_fn),
"2":("Quit",my_quit_fn)
}
for key in sorted(menu.keys()):
print key+":" + menu[key][0]
ans = raw_input("Make A Choice")
menu.get(ans,[None,invalid])[1]()
わずかな修正がいくつか必要でした:
ans=True
while ans:
print ("""
1.Add a Student
2.Delete a Student
3.Look Up Student Record
4.Exit/Quit
""")
ans=raw_input("What would you like to do? ")
if ans=="1":
print("\n Student 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")
4つの引用符を3つに変更し(これは複数行の引用符に必要な数です)、"What would you like to do? "
の後に閉じ括弧を追加し、入力をraw_inputに変更しました。
これでうまくいくはずです。 )
が欠落しており、必要なのは4つではなく"""
だけです。また、最後にElifは必要ありません。
ans=True
while ans:
print("""
1.Add a Student
2.Delete a Student
3.Look Up Student Record
4.Exit/Quit
""")
ans=raw_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")
ans = None
else:
print("\n Not Valid Choice Try again")
手順3を完了したように見えます。関数を実行する代わりに、ステートメントを出力するだけです。関数は次の方法で定義されます。
_def addstudent():
print("Student Added.")
_
次にaddstudent()
と書くことで呼び出されます。
入力にwhile
ループを使用することをお勧めします。メニューオプションをループ外で定義し、printステートメントをループ内に配置し、while(#valid option is not picked)
を実行してから、whileの後にifステートメントを配置できます。または、有効なオプションが選択されていない場合は、while
ループを実行し、continue
ループを実行できます。
また、辞書は次の方法で定義されます。
_my_dict = {key:definition,...}
_