Как передавать значения динамического списка с приращением одно за другим в функции в соответствии с пользовательским вводом в python?

#python #python-3.x #python-2.7

#python #python-3.x #python-2.7

Вопрос:

Я пытаюсь решить одну логику, но не получаю точного поведения.В сценарии :

Запустится первый скрипт, который покажет количество устройств.Предположим:

 1) Device 1 (x=1, y=x)
2) Device 2 (x=2, y=y)
3) Device 3 (x=4, y=Z)
4) ........
5) ........
  

Теперь после этого я принимаю входные данные от пользователя, такие как index — 1,2,3.PF:

input = raw_input(‘Какое устройство вы хотите:’)

Теперь после получения значений я добавлю все значения в пустой список в a = [] , b = []

Значения будут сохранены в двух динамических списках в соответствии с операциями.Допустим:

a = [1,2,4,5,6 …] b = [x, y, z, g, h …]

Теперь, после ввода для устройства, скрипт снова запросит ввод .PF:

input = raw_input(‘Введите операцию, которую вы хотите выполнить в устройстве, из приведенных ниже операций:’)

Вывод: 1) Получить отчет 2) Получить образец

Ожидаемое поведение: в соответствии с вводом он должен выполнить некоторую операцию.Операция зависит от значений списка.

  • Предположим, пользователь вводит: 2

Теперь скрипт должен принимать значение 2 из a и y из b

  • Предположим, пользователь вводит: 4

Теперь скрипт должен принимать значение 5 из a и g из b

  • Предположим, пользователь вводит: 1

Теперь скрипт должен принимать значение 1 из a и x из b

и так далее…..

 a=[1,2,4,5,6...] -> The list is dynamic
b=[x,y,z,g,h...] -> The list is dynamic
input = raw_input('Enter your input:')
if input == 1:
   verify = report(a[],b[])  --> How to pass here values of a and b if user presses 1?
   return verify
elif input == 2:
    verify = sample(a[],b[]) --> How to pass here values of and b if user presses 2
    return verify


def report(first,second):
    print first
    print second

def sample(third,fourth):
    print third
    print fourth
  

Как я могу добиться такого поведения, описанного выше?

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

1. x = int(input); report(a[x-1],b[x-1]) ?

2. он всегда выдает мне 1-е значение. Когда я нажимаю 2, значение, которое я получаю, остается тем же, что и с 1-го. то есть 1, x, но в идеале оно должно давать 2, y, когда я перехожу на 2-й.

3. Да, я делал подобное, но я думаю, что здесь мы упускаем концепцию. При первом запуске скрипта он показывает некоторые устройства, связанные с a и b. Затем я добавляю значения a и b в некоторый список. Итак, когда пользователь вводит номер устройства 2, т. е. индекс. Он должен вести себя в соответствии с устройством, размещенным под номером индекса 2. amp; извлеките значение из списка и выполните операцию. Посмотрите мою правку, пожалуйста