如何停止字典改组? (蟒蛇)

时间:2015-05-20 17:40:17

标签: python list dictionary menu

我设计了一个菜单,并且我使用字典来表示值。如果可能的话,我想留下一本字典。唯一的问题是字典会自动改变其内容,我显然需要它按照我想要的顺序打印菜单。到目前为止我的代码看起来像这样:

menu = {}
menu['1']="Encrypt message" 
menu['2']="Decrypt message"
menu['3']="Secure Encrypt Message"
menu['4']="Exit"
while True:
    for number, name in menu.items():
      print(number+")", name)
    selection=input("Please Select:") 

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

根据定义,字典键没有任何特定的顺序。您可能需要一些其他结构来表示它们的顺序(如列表),或者您可以对键进行排序(如果有适当的排序顺序)。

如果您希望按照插入顺序输入密钥,也可以使用Stripe.customers.create({ source: token.id }).then(function (customer) { Stripe.charge.create({ amount: 1000, currency: 'usd', customer: customer.id }); });

答案 1 :(得分:1)

字典无序。您需要列表或其他有序类型。

(5..10).inject { |prod, n| prod + n }

或者您可能希望在文本标签中包含数据项:

menu = [
    "Encrypt message",
    "Decrypt message",
    "Secure Encrypt Message",
    "Exit",
    ]
for n, x in enumerate(menu, start=1):
    print("{}) {}".format(n, x))
selection = input("Please select: ")