我在下面的代码中显示了一个用户可以选择输入数字的选项列表。
它工作正常,但我不明白为什么这些选项看起来不是有序的。
而不是:
1 - 用户管理
2 - 上传
8 - 退出
我有:
1 - 用户管理
8 - 退出
2 - 上传
你知道问题在哪里吗?
Choice = namedtuple("Choice", ['msg', 'callback'])
def nav():
print ""
while True:
response_options = {'1': Choice(msg="User Management", callback=userManagment),
'2': Choice(msg="Uploads", callback=upload),
'8': Choice(msg="Exit", callback=sys.exit)}
result = make_choice(response_options)
if result is None:
print "-> Selected option not available."
print ""
else:
result.callback()
return False
def make_choice(optiontable):
for resp, choiceobj in optiontable.items():
print("{} - {}".format(resp, choiceobj.msg))
print ""
print "Select an option: "
print ""
usr_resp = raw_input(">> ")
print ""
return optiontable.get(usr_resp, None)