[[oktatas:programozás:programozási_tételek|< Programozási tételek]]
====== Programozási tételek Python nyelven ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2016, 2020, 2021
* Licenc: GNU Free Documentation License 1.3
* Web: https://szit.hu
===== Tételek =====
==== Összegzés ====
t = [ 3, 8, 2, 4, 5, 1, 6]
osszeg = 0
for num in t:
osszeg = osszeg + num
print("Összeg: ", osszeg)
==== Megszámolás ====
t = [ 3, 8, 2, 4, 5, 1, 6]
count = 0
for num in t:
if num > 5:
count = count + 1
print("5-nél nagyobb: ", count)
==== Eldöntés ====
t = [ 3, 8, 2, 4, 5, 1, 6]
n = len(t)
ker = 5
i = 0
while i < n and t[i] != ker:
i = i + 1
if i
==== Kiválasztás ====
t = [ 3, 8, 2, 4, 5, 1, 6]
n = len(t)
ker = 5
i = 0
while t[i] != ker:
i = i + 1
print("Hányadik helyen van: ", i+1)
==== Keresés ====
t = [ 3, 8, 2, 4, 5, 1, 6]
n = len(t)
ker = 5
i = 0
while i < n and t[i] != ker:
i = i + 1
if(i < n):
print('Van ' + str(ker) + ' elem')
print("Helye: ", i+1)
else:
print('Nincs ' + str(ker) + ' elem!')
==== Másolás ====
a = [ 3, 8, 2, 4, 5, 1, 6]
b = []
def dupla(num):
return num * 2
for elem in a:
b.append(dupla(elem))
print(b)
==== Kiválogatás ====
a = [ 3, 8, 2, 4, 5, 1, 6]
b = []
for elem in a:
if elem < 5:
b.append(elem)
print(b)
==== Szétválogatás ====
a = [ 3, 8, 2, 4, 5, 1, 6]
b = []
c = []
for elem in a:
if elem < 5:
b.append(elem)
else:
c.append(elem)
print(b)
print(c)
==== Metszet ====
a = [ 5, 3, 6, 2, 1 ]
b = [ 6, 2, 7, 8, 9 ]
c = []
n = len(b)
for elem in a:
i = 0
while i < n and elem != b[i]:
i+=1
if i
==== Unió ====
a = [ 5, 3, 6, 2, 1 ]
b = [ 6, 2, 7, 8, 9 ]
n = len(a)
m = len(b)
c = a.copy()
for j in range(0, m):
i=0
while i < n and b[j] != a[i]:
i+=1
if i>=n:
c.append(b[j])
print(c)
==== Maximum kiválasztás ====
t = [ 5, 3, 6, 2, 1 ]
maxElem = t[0]
for elem in t:
if elem > maxElem:
maxElem = elem
print(maxElem)
==== Minimum kiválasztás ====
t = [ 5, 3, 6, 2, 1 ]
minElem = t[0]
for elem in t:
if elem < minElem:
minElem = elem
print(minElem)
===== Rendezések =====
==== Buborékrendezés ====
t = [ 5, 3, 6, 2, 1 ]
n = len(t)
for i in range(n-1, 0, -1):
for j in range(0, i):
if(t[j] > t[j+1]):
tmp = t[j+1]
t[j+1] = t[j]
t[j] = tmp
print(t)
==== Rendezés cserével ====
t = [ 5, 3, 6, 2, 1 ]
n = len(t)
for i in range(0, n-1):
for j in range(i+1, n):
if(t[i] > t[j]):
tmp = t[i]
t[i] = t[j]
t[j] = tmp
print(t)
==== Rendezés maximum kiválasztással ====
t = [ 5, 3, 6, 2, 1, 9 ]
n = len(t)
for i in range(n-1, -1, -1):
maxIndex = i
for j in range(0, i):
if(t[j] > t[maxIndex]):
maxIndex = j
tmp = t[i]
t[i] = t[maxIndex]
t[maxIndex] = tmp
print(t)
==== Rendezés minimumkiválasztással ====
t = [ 5, 3, 6, 2, 1, 9 ]
n = len(t)
for i in range(0, n-2):
minIndex = i
for j in range(i+1, n-1):
if(t[j] < t[minIndex]):
minIndex = j
if minIndex != i:
tmp = t[i]
t[i] = t[minIndex]
t[minIndex] = tmp
print(t)
==== Rendezés beszúrással ====
t = [ 5, 3, 6, 2, 1, 9 ]
n = len(t)
for i in range(0, n):
kulcs = t[i]
j = i - 1
while j >= 0 and t[j] > kulcs:
t[j+1] = t[j]
j = j - 1
t[j+1] = kulcs
print(t)
==== Shell rendezés ====
t = [ 5, 3, 6, 2, 1, 9 ]
h = [5, 3, 1]
n = len(t)
for k in range(0, 3):
lepes = h[k]
for j in range(lepes, n):
i = j - lepes
kulcs = t[j]
while i >= 0 and t[i] > kulcs:
t[i+lepes] = t[i]
i = i - lepes
t[i+lepes] = kulcs
print(t)
==== Gyorsrendezés ====
t = [ 5, 3, 6, 2, 1, 9 ]
def gyorsrendezes(lista):
meret = len(lista)
if meret <= 1:
return lista
kicsik = []
egyenlo = []
nagyok = []
pivot = lista[meret-1]
for num in lista:
if num < pivot:
kicsik.append(num)
if num == pivot:
egyenlo.append(num)
if num > pivot:
nagyok.append(num)
return gyorsrendezes(kicsik) + egyenlo + gyorsrendezes(nagyok)
print(gyorsrendezes(t))
===== Összefuttatás =====
==== Összefuttatás, összefésülés ====
#!/usr/bin/python
# coding: utf8
def kiir(tomb, meret):
for i in range(0, meret+1):
print tomb[i]
a = [2, 3, 7, 8]
b = [3, 6, 9, 12, 18]
c = [0] * 9
n = len(a)
m = len(b)
i = 0
j = 0
k = -1
while i b[j] :
c[k] = b[j]
j+=1
while i