Python选择菜单选项

时间:2014-04-27 02:28:54

标签: python

我是python编程的新手,我在选择选项时遇到了麻烦。我创建了一个菜单,例如我有: 说明 餐饮 包 加 当用户选择i,c,a或p时,每个菜单都会出现。但是,如果用户选择' p'之前' a'然后我需要设置一个提示来选择第一个..

INSTRUCTIONS = "I"
CATERING = "C"
PACKAGES = "P" 


    def menu():
        userInput = True 
        while userInput != False:
            print("Instructions
                   Catering
                    Packages")
            userInput = input(">>>")

        if userInput == INSTRUCTIONS:
            instructions()
        elif userInput == CATERING:
            Catering()
        elif userInput == PACKAGES:
            Packages()
        else:
             print("Error")

谢谢

2 个答案:

答案 0 :(得分:0)

如果您使用的是python2.x,请使用raw_input()代替input()

def menu():
    mybool == True

    userInput = input("Instructions\nCatering\nPackages\n>>> ")
    b = userInput.lower()[0]
    if b == 'a':
        mybool = True
    elif b == 'i':
        Instructions()
    elif b == 'c':
        Catering()
    elif b == 'p':
        if mybool == True:
            Packages()
        else:
            input('Here is where we display a prompt! ')
    else:
        print("Error")

基本上,这会将变量设置为False,然后获取输入。如果输入为a,则我们将myBool设置为True。如果用户选择pmyBoolTruea已被选中),则会继续。否则,它会显示提示。

答案 1 :(得分:0)

这是Loop ::

中的代码
def menu():


 while True:
            u_in=raw_input("Input Here:: ")
            u=u_in.lower()
            if u_in=="":
                    continue

            elif u=="i":
                     Instructions()
            elif u=="c":
                    Catering()
            elif u=="p":
                    Packages()