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...