- Введение в GNU/Linux
- Работа в графических средах (KDE, Gnome)
- Командная оболочка (bash)
- Практические работы по OpenOffice
- Основы программирования (Python)
- Алгоритмы на Python
- Объектно-ориентированное программирование (Python)
- Программирование графического интерфейса (Tkinter)
- 2D анимация (Synfig)
- 3D моделирование (Blender)
- Blender Game Engine
Описание алгоритма
Исходный код на PythonКак найти наименьшее значение в списке?
s = [2,4,1,3] #подопытный список m = 0 #индекс первого элемента i = 1 #индекс второго элемента while i < len(s): #пока индекс меньше длины строки if s[i] < s[m]: # если значение под индексом i меньше, чем под m, m = i # то присвоить m индекс i i += 1 # увеличить i на единицу print (s[m]) # вывести значение элемента под индексом m Обратите внимание на строку while i < len(s):. Не нужно писать <=, т.к. индексация начинается с нуля. Это значит, что когда i равен 3, то мы обращаемся к 4-му элементу списка (в примере, это как раз конец строки).
s = [2,4,9,1,3,7,5] #подопытный список # требуется поменять местами первый и четвертый элементы m = 0 #индекс первого элемента i = 3 #индекс четвертого элемента t = s[m] # сохраняется значение под индексом m s[m] = s[i] # на его место записывается значение под индексом i s[i] = t # на место значения под индексом i записывается ранее сохраненное значение под индексом m Полный алгоритм сортировки выбором
s = [2,4,8,1,0,3,9,5,7,6] print (s) #в переменной k хранится индекс элемента, подлежащего обмену (двигаемся слева на право) k = 0 while k < len(s) - 1: #-1, т.к. последний элемент обменивать уже не надо m = k #в m хранится минимальное значение i = k + 1 #откуда начинать поиск минимума (элемент следующий за k) while i < len(s): if s[i] < s[m]: m = i i += 1 t = s[k] s[k] = s[m] s[m] = t k += 1 #переходим к следующему значению для обмена print(s) Оформление алгоритма в виде функции и пример использования цикла for
def mymin(mylist): for k in range(len(mylist) - 1): m = k i = k + 1 while i < len(mylist): if mylist[i] < mylist[m]: m = i i += 1 t = mylist[k] mylist[k] = mylist[m] mylist[m] = t |
|||
