2013-03-28 8 views
0

фрагмент моего кода:питона переменного прохождение функций

def determinewelltype(currentuwi,welltype): 
    if current uwi in vertuwis: 
     welltype = "Vertical" 

currentuwi = "1aa010109306w400" 
welltype = "UNKNOWN" 
determinewelltype(currentuwi,welltype) 
print currentuwi,welltype 

В другой части моего кода, я построил список под названием vertuwis, который состоит из нескольких строк.

Этот фрагмент пытается определить, находится ли currentuwi в списке vertuwis. Если это так, то образец должен быть вертикальным.

Я знаю, что данный токuwi находится в моем списке, но когда я печатаю welltype в последней строке кода, тип скважины UNKNOWN, что означает, что мой код не работает.

Где я пошла не так?

+3

параметры передаются по значению в питона, но вы предполагая, что они передаются по исх. Ознакомьтесь с следующим вопросом, который подробно объясняет это http://stackoverflow.com/questions/986006/python-how-do-i-pass-a-variable-by-reference – JaredPar

ответ

2

Это исправляет ошибки в коде:

vertuwis = ['a', 'b', 'c'] 

def determinewelltype(currentuwi,welltype): 
    if currentuwi in vertuwis: 
     welltype = "Vertical" 
    return welltype 

currentuwi = "a" 
welltype = "UNKNOWN" 
welltype = determinewelltype(currentuwi,welltype) 
print currentuwi,welltype # prints out: a Vertical 
+0

Большое спасибо! –

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