Я только что начал с изучения python сегодня. Это мой первый реальный язык программирования ... Я попытался сделать пузырь, но он всегда терпит неудачу. я не знаю, почему ...Bubblesort in Python 3.2
#!/usr/bin/python3.2
import random;
i = 0
x = 100
test = []
def createRandom():
global i
global test
while i <= x:
test.extend([random.randrange(1,100)]);
i=i+1;
return test;
def bubblesort():
sorted=False;
while sorted!=True:
y = 0;
l = len(test)-1
print(l);
while y < l:
sorted=True;
if test[y]<test[y+1]:
tmp = test[y]
test[y]=test[y+1];
test[y+1]=tmp;
y=y+1;
sorted=False;
createRandom();
bubblesort();
print(test);
Ошибка:
[email protected]:~/python3# ./bubblesort.py
100
^CTraceback (most recent call last):
File "./bubblesort.py", line 34, in <module>
bubblesort();
File "./bubblesort.py", line 25, in bubblesort
if test[y]<test[y+1]:
KeyboardInterrupt
Спасибо за вашу помощь!
Не на 100% уверен, но я думаю, что вы должны переместить 'sorted = True; 'во внешний цикл. Кроме того, ';' не нужно. –
Вот совет - не используйте 'root' для запуска/тестирования/отладки вещей; используйте свою учетную запись пользователя. –
Также переместите 'y = y + 1' из' if' –