Есть ли способ вернуться к предыдущей строке кода в Python v3?

#python #loops

#python #циклы

Вопрос:

Я новичок в 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...
  

Если я делаю что-то еще неправильно, я был бы очень признателен за дополнительные указания.

Поскольку я все еще новичок в этом, если возможно, я хотел бы, чтобы ответ был как можно более простым.

Комментарии:

1. Нет (и ИМХО ваш вопрос не имеет смысла и неясен). Пожалуйста, потратьте несколько недель, чтобы узнать больше о Python.

2. Вы могли бы определить input() как функцию и вызывать ее везде, где это необходимо.

3. Вызовы функций делают то, что вы хотите, не так ли?

4. Проверьте, имеет ли мой ответ смысл для вас! @ben

Ответ №1:

Когда вы говорите, 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
  

Теперь вы можете соответствующим образом настроить свою логику

Ответ №2:

Я полагаю, что вам нужен цикл. Возьмите свой ввод и обработайте в цикле.

 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 /