Во-первых, у меня есть эта функция:Почему моя функция не меняет переменные переменных?
def change_pos(a, b):
temp = a
a = b
b = temp
print 'Done'
И я называю это в другой функции, но это просто напечатать «Done» и ничего не делать. Я пишу код непосредственно:
a = 1
b = 2
temp = a
a = b
b = temp
Он отлично работает. Любое предложение здесь? Во-вторых, это мой код
def check_exception(list):
for element in list:
# Take list of numbers
# \s*: Skip space or not (\t\n\r\f\v), \d: Number [0-9]
# ?: Non-capturing version of regular parentheses
first = re.compile("\s*(?:\[)(\d+)\s*(?:,)").findall(element)
last = re.compile("\s*(?:,)(\d+)\s*(?:\])").findall(element)
# Convert string to integer
first_int = map(int, first)
last_int = map(int, last)
# Check and code above works
i = 0
print first_int[i]
change_pos(first_int[i],first_int[i+1])
print first_int[i+1]
print len(first_int)
#print type(first_int[0])
# Sort
# Error: list index out of range at line 47 and more
i = 0
while i < len(first_int):
if first_int[i] > first_int[i+1]:
change_pos(first_int[i], first_int[i+1])
change_pos(last_int[i], last_int[i+1])
i += 1
# Check exception
j = 0
while j < len(last_int):
if last_int[j] < first_int[j+1]:
return false
break
else:
j += 1
continue
return true
И я вижу: IndexError: список индексов вне диапазона в условиях после # Ошибка Спасибо за любую помощь. :)
Для второго выпуска, я предлагаю вам задать новый вопрос. Вы не должны задавать два вопроса в одном вопросе здесь. Это мешает мне дать вам +1. –
О, дорогая, и вы приняли неправильный ответ. –
ОК, я исправил его, так что теперь это правильно. Все еще. Добро пожаловать в SO, но вы, вероятно, сделаете лучше, если вы используете сайт по своему усмотрению. Читайте FAQ и т. Д. В разделе «Справка» сверху. –