有没有一种方法可以循环回到Python v3中的上一行代码?

时间:2019-04-23 05:13:04

标签: python-3.x loops

我是Python的新手,我想知道是否有一种方法可以循环回到上一行代码?

command = input('Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: ')

if command == 'a': #Add fruit command
    #Loop back to Command Line
if command == 'd': #Delete fruit command
    #Loop back to Command Line
#etc...

如果我做错了其他任何事情,请多多指教。

由于我对此还不熟悉,所以我希望答案尽可能简单。

2 个答案:

答案 0 :(得分:3)

当您说Loop back to Command Line时,我想您的意思是再次呼叫输入。 在python中,我们有一个叫做function的东西,您可以在其中定义一段代码,可以在需要时调用它。

因此,在您的情况下,您想再次call命令行,这意味着要进行输入。

让我们先将该语句包装在function

def cmd():
    command = input('Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: ')
    return command

您会看到function cmd接受了用户的输入,并且returns接受了用户的输入,这意味着无论calls是谁,该函数都会取回值

现在我们可以像下面一样通过执行cmd()来调用函数

#Call cmd the first time and assign the value to variable command
command = cmd()
#Then we can use same function to call command again
if command == 'a': #Add fruit command
    command = cmd()
if command == 'd': #Delete fruit command
    command = cmd()

现在将运行一些示例

Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: a
Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: a

Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: a
Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: d
Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: d

您现在可以相应地建立自己的逻辑

答案 1 :(得分:0)

我想您想要的是一个循环。在循环中进行输入和处理。

while True:
   command = input('Choose [a]dd, [d]elete, [l]ist, [s]earch, [v]iew or [q]uit: ')
   if command == 'a': 
      #Add fruit command
   elif command == 'd': 
      #Delete fruit command
   elif command == 'q':
      exit()

在上面的示例中,我使用了while循环。如果您想了解有关循环的更多信息,请访问https://www.geeksforgeeks.org/loops-in-python/