在Python中创建菜单

时间:2014-08-11 04:03:07

标签: python

menu
1. Plot Graph
2. Exit/Quit

当用户输入1时,

此代码将被运行,因此,当用户输入1并打印某些内容时,如何在用户按1时运行以下代码

3 个答案:

答案 0 :(得分:0)

menu = raw_input("Please choose a operation from the menu:")

if menu == '1':
  run_the_code()
elif menu == '2':
  exit_the_code()
else:
  print "No such option!"
这是你想要的吗?用户必须按Enter才能继续。

答案 1 :(得分:0)

将所有代码放在main()函数中。无需按Enter键,它会读取按下的键。

import msvcrt

option = msvcrt.getch()
if option == '1': 
   main()
else:
   exit()

仅供参考:https://docs.python.org/2/library/msvcrt.html

答案 2 :(得分:0)

通过将键作为选项存储并将值存储为要执行的函数的引用,也可以使用python词典执行此操作。这在提供许多选项时是首选,因为它消除了设置所有if语句的需要,并且使选项的添加或删除更容易。另外我相信我在某个地方阅读它更有效但我不确定这是否真的如此。而且因为它更简单,所以更加pythonic!

创建像你要求的菜单的代码看起来像这样。

options = {     1 : run_code,
                2 : dont_run_code,
}

user_input = raw_input("1 or 2")
options[user_input]()

这当然意味着您必须将代码放在一个函数中(为此,语法看起来像这样)

def function(parameters):
    do stuff

注意字典中如何在没有()的情况下存储函数。这样做是因为没有括号它是对函数本身的引用(如果你执行打印,你会看到它给你内存地址),函数将执行括号。然后,您只需通过将括号添加到二进制查找(如options[user_input]()

)来调用该函数

注意:在其他语言中,我建议查看一个switch语句,但python却没有。

相关问题