Advertisement
Benkex

Ádám_easteregg_1

Apr 13th, 2020
536
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.82 KB | None | 0 0
  1. # -*- coding: cp1250 -*-
  2. #-----remek lifehackek és easter eggek pythonban-----
  3. # 1.: a listák generátorai
  4. sorozat = [i*2 for i in range(10)] # a lista elemei a "for" szócska előtti
  5.                                    # értéket veszik fel, a range-ben szereplő
  6.                                    # elemszámmal
  7. print(sorozat)
  8.  
  9. forditott = reversed(sorozat) # megfordítja a lista sorrendjét
  10. print(forditott)
  11.  
  12. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  13. from random import randint
  14. multi_dim = [[[randint(0, 100) for k in range(5)] for j in range(6)] for i in range(7)]
  15. # ez egy 3 dimenziós tömb egyszerűen generálva, minden eleme véletlenszerű
  16. # látod, hogy egy olyan listát veszel 7-szer (i), aminek 6 eleme van (j), és minden eleme egy 5 elemű lista (k)
  17. # k***** menő
  18.  
  19. flat = [multi_dim[i][j][k] for i in range(7) for j in range(6) for k in range(5)]
  20. # így lapítasz le egy többdimenziós tömböt. érdekes, hogy fordítva van a ciklusok sorrendje: i, j, k
  21.  
  22. for elem in flat: # listán való végigiterálás, az "elem" változó
  23.     print(elem)   # mindig a lista következő elemének értékével lesz egyenlő...
  24.  
  25. flat2 = []
  26. for reteg in multi_dim: # ...ha ez az érték egy lista, akkor a változó is egy lista lesz, amin...
  27.     for sor in reteg:   # ugyancsak végig lehet iterálni.
  28.         for elem in sor:
  29.             flat2.append(elem) # így is készülhetett volna a lelapított lista.
  30.  
  31. flat3 = [elem for reteg in multi_dim for sor in reteg for elem is sor] # vagy akár így
  32.            
  33. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  34. felteteles = [1 for i in range(100) if i%3==0]
  35. #feltételes listagenerátor, akkor szúrja be az elemet, ha a feltétel teljesül
  36. felt2 = [1 if i%3==0 else 0 for i in range(100)]
  37. #ha else is kell, a for ciklus előttre kell írnod. A sorrend fontos.
  38. "felt3 = [1 if i%3==0 for i in range(100)]" # ez hibás, próbáld csak ki
  39. "felt4 = [1 for i in range(100) if i%3==0 else 0]" # ez is
  40.  
  41. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  42. i, j, k = 1, 2, 3 # a tuple-ök... jó cuccokat lehet velül csinálni.
  43.                   # ez itt épp inicializálás tuple-módra.
  44. print(i, j, k)
  45.  
  46. # a tuple-öket a sima zárójel és a vessző jellemzi, és nem lehet őket indexeléssel megváltoztatni.
  47. # egyébként viszonr ugyanúgy viselkednek, mint a listák.
  48. tup = (1, 2, 3)
  49. tup = 1, 2, 3 # mindegy hogy kiteszed-e a zárójelet
  50.  
  51. "tup[0] = 4" # hibás, "nem lehet őket indexeléssel megváltoztatni"...
  52. print(tup[0]) # lehet viszont indexelni
  53.  
  54. # ha nagyon meg akarod változtatni a tuple elemeit,
  55. # csinálj belőle listát, változtass rajta, aztán alakítsd vissza
  56. lista = list(tup)
  57. lista[0] = 4
  58. tup = tuple(lista) # ez így helyénvaló
  59. print(tup[0])
  60.  
  61. i, j, k = (i+1 for i in range(3)) # lehet így is... generátorral, hihihi
  62. print(i, j, k)
  63. "i, j, k = i+1 for i in range(3)" # ide viszont kell a zárójel, ez hibás sor.
  64.                                   # a generátoroknak mindig kell valami, amibe elemeket szúrogathatnak...
  65.                                   # ez jelen esetben egy tuple.
  66.  
  67. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  68. # ez egy insanely condensed cucc, magyarázva van, sokminden hasznos van benne
  69. # ilyeneket imádok csinálni, egy kib*** sor, és mennyi művelet...
  70.  
  71. identity ="Munkas_"+str(int(list(eval(open("database.txt", "r").read()).keys())[-1].split("_")[1])+1)
  72. """""""""""Munkas_"+szöveggé(
  73.                     számmá(
  74.                     listává(
  75.                     kiértékel(
  76.                     megnyit( -adatbázis- ).kiolvas()
  77. -kiértékelődött-     ).kulcsszavak()
  78. -listává vált-       )[utolsó elem].szétválaszt( -alsóvonal alapján- )[második elem - ami maga a szám]
  79. -számmá vált-        )+1
  80. -szöveggé vált-      ) """
  81.  
  82. # és ez csak annyit csinál, hogy egy adatbázisban ahol ilyen adatok vannak...
  83. """ {'Munkas_1': {'name': 'Benke', 'assots': 'világmegmentő', 'how_many_hdays': 'soha', 'salary': '0'},
  84.     'Munkas_2': {'name': 'Ádám', 'assots': 'gityó, programmieren', 'how_many_hdays': 'mindig', 'salary': 'jó sok'}}"""
  85. # meghatározza az utolsó embernek az id-jét, megnöveli eggyel, és hozzárakja ahhoz hogy "Munkas_"
  86. # az adatok egyébként egy ún. dictionary-ben vannak tárolva, amiben te mondhatod meg, hogy mi legyen az index, pl.
  87. szotar = {"cucc":69, "bucc":21}
  88. print(szotar["cucc"]) # igen, így indexeled. k*** jó
  89.  
  90. # a kulcsszavai az indexek:
  91. print(szotar.keys())
  92. # az értékei... az értékei.
  93. print(szotar.values())
  94. # és egyben is listává (akarom mondani tuple-ök listájává) lehet alakítani, így:
  95. print(szotar.items()) # rohadt érdekes
  96. # egyébként egy mezei list() csak az indexeit szedi ki belőle... na ja
  97. print(list(szotar))
  98.  
  99. # az egész adatbázisos kód linkjét is elküldöm, próbáld ki nyugodtan
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement