2013-11-16 4 views
1

Я очень смущен этим, поэтому надеюсь, что кто-то может мне помочь.Использование арифметических операторов с переменной, содержащей список

Так что у меня есть в основном список в Python, то я установил переменную, которая внутри я использовал имя списка и называю первый элемент, такой как myVariable = myList[0], теперь в основном я хочу добавить целое число значение до myVariable, чтобы сделать это так, чтобы получить следующее значение в списке myList[1] и вычитать список в целом по одному каждый раз. На данный момент у меня есть 8 различных элементов/элементов.

Я постоянно получаю сообщение об ошибке, которое я не могу добавить целое число (числовое значение) в myVariable, поскольку он видит его как строку, и я не уверен, как получить список переместите один результат вперед, и как только это будет сделано, вычитайте список по одному результату, поскольку он предназначен для удаления каждый раз, когда он петли.

Пример:

def testFunction(testValue): 
    myVariable = myList[0] 
    testResult (myVariable + testValue) - 1 
    print testResult 

testValue является целым числом, мне нужно, чтобы получить значение от myList в зависимости от целого значения testValue (который он добавляемого с), так что если testValue было как 3 он добавит это значение по умолчанию myVariable, которое в настоящее время равно 0, затем после этого результата из списка и продолжайте делать это до тех пор, пока в этом списке не останется только один результат, который в настоящее время состоит из 8 элементов.

UPDATE:

список Пример: [ "Kapow", "Стрела", "Pow", "Shapow", "Crash", "Свист", "Взрыв", "Pew"] Вхожу значение в функцию, такое как 3, функция ниже: bam (bamtypes, choice): Я ввожу предлагаемое значение 3 как «выбор», а байтты - только указанный список выше, тогда я должен получить обратно значение Shapow , Тогда то, что я хочу сделать, это в основном добавить myVariable в testValue (я ссылался на целое число «выбор» в функции при обращении к testValue, поэтому в этом случае это будет 3). Я также ссылался на bamtypes, когда говорил myList. Поскольку myVariable в основном настроен на то, чтобы функция начала начинаться с первого элемента в списке, такого как myVariable = bamtypes [0], но тогда я хочу, чтобы значение 3 из «вариантов» было добавлено в myVariable, чтобы оно стало байттипами [3], то я могу использовать .pop для извлечения этого значения, а затем снова, так что это bamtypes [6] и так далее, пока список не оставляет только один результат. Также обратите внимание, что в списке есть 8 элементов, то, что я хочу сделать, - это когда 3 добавляет к bamtypes [6], он должен снова дать мне значение [0], когда он сбрасывается, считая дважды восьмому элементу, а затем возвращает еще раз до 0, используя значение 3 для данного поиска.

+3

Иногда, ввод образца и ожидаемой выходной помощь лучше, чем длительные writeups. – thefourtheye

+0

@Upvoter, Не могли бы вы немного объяснить вопрос? – thefourtheye

+0

Похоже, вы хотите перебирать элементы в списке. Для этого вы должны использовать цикл. –

ответ

2
  1. Когда вы выполняете арифметическую операцию, вы можете либо сохранить результат в переменной, либо проигнорировать результат. Если мы хотим сохранить в переменной, необходимо использовать оператор присваивания, как этот

    testResult = (myVariable + testValue) - 1 # Note the `=` symbol 
    
  2. ошибка вы получаете означает, что данные, хранящиеся в myVariable не число, а строка символов. Таким образом, вы должны преобразовать его в целое число, как этот

    testResult = (int(myVariable) + testValue) - 1 # Note the `int` function 
    
+0

Ошибка с = была ошибкой, извините! Также я попробовал второй пункт, который вы предложили, с преобразованием его в int, и я получаю эту ошибку - ValueError: недействительный литерал для int() с базой 10: «Shapow» – zahz

+0

@Shaz Это означает, что список имеет строковые значения, а не числа. Как добавить числа в строки? :) Не могли бы вы обновить свой вопрос с помощью ввода образца и ожидаемого результата? – thefourtheye

+0

Хорошо, я обновил свой вопрос, я надеюсь, что это будет немного более глубоким для вас. Я старался как можно больше охватить то, что хочу на самом деле. Извините за беспокойство. – zahz

Смежные вопросы