#python #variables
#python #переменные
Вопрос:
Строка 6 — это присвоение переменной, и она не работает …. почему?
Я не вижу ошибки
aleatorio = [11,2,5,9,3,4,8,13,7]
longitud = len(aleatorio)
contador = 0
for i in range(longitud-1):
a = aleatorio[i]
b = aleatorio[i 1]
print(a, b, i, i 1)
if a < b:
contador = contador 1
else:
c = aleatorio[i]
d = aleatorio[i 1]
aleatorio[i] = d
aleatorio[i 1] = c
print(aleatorio)
он печатает:
11 2 0 1
11 5 1 2
11 9 2 3
11 3 3 4
11 4 4 5
11 8 5 6
11 13 6 7
13 7 7 8
[2, 5, 9, 3, 4, 8, 11, 7, 13]
Комментарии:
1. Каков ваш ожидаемый результат?
2. Как вы думаете, почему в этом коде есть ошибка? Код делает именно то, что должен. 11 начинается с позиции 0 и продолжает двигаться вправо, пока не достигнет 13. Затем 13 перемещается вправо, пока не достигнет конца.
3. Что вы подразумеваете под строкой 6 (переменная
a
справа?) не работает, у вас есть сообщение об ошибке или что-то, что говорит вам об этом?
Ответ №1:
Если вы хотите отсортировать список, вы должны внести небольшое изменение, подобное этому:
aleatorio = [11,2,5,9,3,4,8,13,7]
longitud = len(aleatorio)
contador = 0
while contador!= longitud-1:
contador=0
for i in range(longitud-1):
a = aleatorio[i]
b = aleatorio[i 1]
print(a, b, i, i 1)
if a <= b:
contador = contador 1
else:
c = aleatorio[i]
d = aleatorio[i 1]
aleatorio[i] = d
aleatorio[i 1] = c
print(aleatorio)