Informatika1-2014/Gyakorlat5
A MathWikiből
(Változatok közti eltérés)
(→Ismétlés a feladatok elõtt) |
(→Ismétlés a feladatok elõtt) |
||
58. sor: | 58. sor: | ||
==== Függvények használata függvényekben ==== | ==== Függvények használata függvényekben ==== | ||
− | Használhatunk minden általunk definiált függvényt a függvényinkben | + | Használhatunk minden általunk definiált függvényt a függvényinkben. Pl: |
− | Collatz | + | <python> |
+ | def hatvany(x, n): | ||
+ | return x ** n | ||
+ | |||
+ | def fv(x): | ||
+ | return hatvany(x, 3) + 2 * hatvany(x,2) + 2 * x + 1 | ||
+ | </python> | ||
+ | |||
+ | Collatz sejtéses feladat [https://cleancoders.com/ clean code] stílusban: | ||
<python> | <python> |
A lap 2014. október 14., 01:12-kori változata
Tartalomjegyzék |
Listákról még
- Listák a listában (mátrix):
M = [[1,2,3],[4,5,6],[7,8,9]]
- Ennek elsõ eleme:
print M[0] # [1,2,3]
- Tehát M elemei listák, így ezeknek is lekérhetjük az elemeit:
print M[0][2] # 3
- Ugyanúgy adhatunk hozzá elemeket, mint korábban:
M.append([10,11,12]) print M # [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
- A belsõ listák hossza eltérhet:
N = [[1,2,5],[4],[3,2,1,4]]
- Bár ez ritka, de keverten szinte bármit tárolhatunk listákban:
H = ["kutya", [1, 5, "macska"], [3, [5, 3]], 5.3]
Listaértelmezések
[kifejezés for elem in bejárható_objektum]
Egy olyan listát hoz létre melyben a kifejezés szerepel a bejárható_objektum minden elemére.
[kifejezés for elem in bejárható_objektum if feltétel]
Mint az elõzõ, de csak azok az elemek lesznek benne melyekre teljesül a feltétel.
[kifejezés for elem1 in bejárható_objektum1 if feltétel1 for elem2 in bejárható_objektum2 if feltétel2 for elemN in bejárható_objektumN if feltételN]
Több feltétel is ciklus is írható akár.
Pl:
[x ** 2 for x in [1, 2, 3, 4]] # [1, 4, 9, 16] [x for x in [-1, 2, -3, 4] if x > 0] # [2, 4]
Ismétlés a feladatok elõtt
Függvények használata függvényekben
Használhatunk minden általunk definiált függvényt a függvényinkben. Pl:
def hatvany(x, n): return x ** n def fv(x): return hatvany(x, 3) + 2 * hatvany(x,2) + 2 * x + 1
Collatz sejtéses feladat clean code stílusban:
def paros(n): if n % 2 == 0: return True else: return False def collatz_lepes(n): if paros(n): return n / 2 else: return n * 3 + 1 def collatz(n): while n != 1: n = collatz_lepes(n) print n