我设计了一个菜单,并且我使用字典来表示值。如果可能的话,我想留下一本字典。唯一的问题是字典会自动改变其内容,我显然需要它按照我想要的顺序打印菜单。到目前为止我的代码看起来像这样:
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:")
非常感谢任何帮助。
答案 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: ")