Portál AbcLinuxu, 30. října 2025 03:20
while list[i] < list[i]-x hází syntax error.
To nemohu od čísla na místě i odečíst x? proč?
taby a mezery jsem radši zkontroloval, jsou v pořádku.
list = [1,7,21,6,8]
def serad(list):
for i in range(1, len(list)):
x = 1
while list[i] < list[i]-x
x = x+1
list[list.index(i)], list[list.index(i-x)] = list[list.index(i-x)], list[list.index(i)]
print(list)
print(serad(list))
Díky moc, jsem bezradný.
ValueError: 0 is not in list, že by chyba v algoritmu?
def serad(list):
n = len(list)
while True:
swapped = False
for i in range(1, n):
if list[i-1] > list[i]:
list[i-1], list[i] = list[i], list[i-1]
swapped = True
n -= 1
if not swapped:
break;
return list
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.