Ich bin neu in Python. Ich habe einen Code geschrieben, um ganze Zahlen in aufsteigender Reihenfolge sortieren zu können. Verwendung - Ubuntu 16.10 und python3.5Nach mehrmaliger Ausführung mit gleichem Code mit gleicher Eingabegröße in Python 3.4 wird IndexError nicht geworfen: list index out of range
-Code -
import random
a=[]
n=int(input("Enter size :\n"))
for i in range(0,n):
a.append(int(random.randrange(0,100)))
print("Before Sorting:",a)
def quick(a,low,high):
if(low<high):
i=low
j=high
key=a[low]
flag=1
while (flag==1):
i += 1
while(a[i]<key):
i += 1
while (a[j]>key):
j -= 1
if (i<j):
a[i],a[j]=a[j],a[i]
else:
flag=0
a[low],a[j]=a[j],a[low]
quick(a,low,j-1)
quick(a,j+1,high)
# Calling function quick where a = List, 0 = Start Index ,n-1 = Last Index
quick(a,0,n-1)
print("After Sorting:",a)
Wenn ich den Code ausführen wirft es Indexerror: Listenindex außerhalb des zulässigen Bereichs, aber wenn ich den gleichen Code mit gleichem Eingang laufen gibt es eine korrekte Ausgabe . Zum Beispiel - den Code für 1.es Mal mit n = Laufe 5
[email protected]:~/PYTHON/practice/run1$ python3 quick.py
Enter size :
5
Before Sorting : [55, 23, 57, 86, 20]
Traceback (most recent call last):
File "quick.py", line 30, in <module>
quick(a,0,n-1)
File "quick.py", line 27, in quick
quick(a,j+1,high)
File "quick.py", line 17, in quick
while(a[i]<key):
IndexError: list index out of range
für 2.es Mal den Code Laufen mit n = 5
Enter size :
5
Before Sorting : [6, 5, 93, 84, 32]
Traceback (most recent call last):
File "quick.py", line 30, in <module>
quick(a,0,n-1)
File "quick.py", line 27, in quick
quick(a,j+1,high)
File "quick.py", line 17, in quick
while(a[i]<key):
IndexError: list index out of range
mit dem Code für die 3. Laufzeit n = 5
[email protected]:~/PYTHON/practice/run1$ python3 quick.py
Enter size :
5
Before Sorting : [87, 18, 94, 1, 64]
After Sorting : [1, 18, 64, 87, 94]
Ich bin nicht in der Lage, herauszufinden, warum das passiert. Ich bin mit Ubuntu 16.10 und python3.5
Problem ist mit Ihrem Algo zu sortieren! Es gibt kein Problem in Ubuntu 16.10 oder Python 3.5. Ihre Daten sind zufällig, so dass in einigen Fällen keine Ausnahme auftritt – mohammad