Python 重复模式选择

Python 重复模式选择,python,Python,我写了一个以模式选择开始的程序,每次一个模式完成时,它都会提示这个选择。代码如下: def get_mode(): mode=raw_input('Welcome to Learning Helpmate BETA. Select mode, insert number of wanted mode: \n 1.mode \n 2.mode \n 3.mode\n') return mode mode=get_mode() if mode =='1': print '

我写了一个以模式选择开始的程序,每次一个模式完成时,它都会提示这个选择。代码如下:

def get_mode():
    mode=raw_input('Welcome to Learning Helpmate BETA. Select mode, insert number of wanted mode: \n 1.mode \n 2.mode \n 3.mode\n')
    return mode

mode=get_mode()

if mode =='1':
    print 'Welcome to mode 1'
    mode=get_mode()

if mode =='2':
    print 'Welcome to mode 2'
    mode=get_mode()

if mode =='3':
    print 'Welcome to mode 3'
    mode=get_mode()
我的问题是,当我选择某个模式并运行它,然后再次尝试选择相同的模式时,我的程序结束,什么也不会发生。如何在不过度覆盖现有代码的情况下解决此问题

谢谢您使用while循环:


您的问题是,您认为get_模式将使您回到代码的顶端,但它不会。您可以定义模式0将退出,然后您的代码将如下所示:

def get_mode():
    mode=raw_input('Welcome to Learning Helpmate BETA. Select mode, insert number of wanted mode: \n 1.mode \n 2.mode \n 3.mode\n')
    return mode

mode=get_mode()

while mode != '0':
    if mode =='1':
        print 'Welcome to mode 1'
        mode=get_mode()

    if mode =='2':
        print 'Welcome to mode 2'
        mode=get_mode()

    if mode =='3':
        print 'Welcome to mode 3'
        mode=get_mode()

您的问题是,当您提示时,所有的if都不会再次执行。要解决此问题,请使用while循环:

只要条件为true,while语句就会执行其代码块。由于此处的条件设置为True,因此将永远运行,因此您可能需要添加中止选项:

mode = ""
while mode != "q":
    mode = raw_input("Enter Mode: (or q to abort)")
    if mode == "1":
        do_stuff()
    etc...
while True:
    mode = raw_input("Enter Mode:")
    if mode == "1":
        print "Welcome to mode 1"
        do_stuff_1()
    elif mode == "2":
        print "Welcome to mode 2"
        do_stuff_2()
    etc..
mode = ""
while mode != "q":
    mode = raw_input("Enter Mode: (or q to abort)")
    if mode == "1":
        do_stuff()
    etc...