Uždavinys, kaip surasti didžiausią ir mažiausią skaičių masyve ir juos sukeisti.
import random
f = [random.randint(1, 100) for i in range(30)]
print (f)
mini = f[0]
vieta = 0
for i in range(len(f)):
if mini > f[i]:
mini = f[i]
vieta = i
print("min sk. = ", mini, "vieta = ", vieta)
maxs = f[0]
vieta2 = 0
for i in range(len(f)):
if maxs < f[i]:
maxs = f[i]
vieta2 = i
print("max sk. = ", maxs, "vieta = ", vieta2)
# min ir max keitimas vietom.
tmp = f[vieta]
f[vieta] = f[vieta2]
f[vieta2] = tmp
print(f)
Pradinis masyvas
[36, 81, 99, 25, 43, 39, 38, 25, 69, 99, 47, 92, 9, 22, 47, 73, 69, 46, 55, 15, 79, 16, 12, 58, 43, 19, 53, 82, 71, 37]
min sk. = 9 vieta = 12
max sk. = 99 vieta = 2
[36, 81, 9, 25, 43, 39, 38, 25, 69, 99, 47, 92, 99, 22, 47, 73, 69, 46, 55, 15, 79, 16, 12, 58, 43, 19, 53, 82, 71, 37]
Alternatyvus būdas, kaip sukeisti vietomis mažiausią ir didžiausią skaičius:
min_i = f.index(min(f))
max_i = f.index(max(f))
print("min sk. =", min(f), "vieta =", min_i)
print("mix sk. =", max(f), "vieta =", max_i)
f[min_i], f[max_i] = f[max_i], f[min_i]