包含if语句的while循环问题

时间:2019-06-04 23:00:56

标签: python python-3.x while-loop

当我做出选择时,代码将正常执行。但是当我想重做选择之后,什么也没发生。示例:我选择1。代码已执行。我回到菜单。我想重新选择1,但是什么也没有发生,菜单再次显示。

版本:Python 3.3.0

menu = True
while menu:
    try:
        c = 0
        c = int(input("Choose 1,2,3,4,5 or 6"))
    except:
        print("Veuillez choisir un chiffre entre 1 et 6!")

    if c == 1:
        c = 0
        #some code

    elif c == 2:
        c = 0
        #some code

    elif c == 3:
        c = 0
        #some code

    elif c == 4:
        c = 0
        #some code

    elif c == 5:
        c = 0
        #some code

    elif c == 6:
        menu = False

    else:
        print("Veuillez choisir un chiffre entre 1 et 6!")

1 个答案:

答案 0 :(得分:0)

使用IF语句不是一个好的方法。 对于每种情况,它不会执行几次,因为您尚未定义它,例如使用for循环。 在Python中具有'''switch'''很棒。 除此之外,您可以创建字典。 或类似下面的内容:

def zero():
    return "zero"

def one():
    return "one"

def two():
    return "two"

switcher = {
    0: zero,
    1: one,
    2: two
    }


def numbers_to_strings(argument):
    # Get the function from switcher dictionary
    func = switcher.get(argument, "nothing")
    # Execute the function
    return func()

Input: numbers_to_strings(1)
Output: One

Input: switcher[1]=two #changing the switch case
Input: numbers_to_strings(1)
Output: Two