Keresés

Részletes keresés

Uzer1 Creative Commons License 2019.09.07 0 0 81

Sziasztok!!

A Hengersor nevű suliba mennék esti teljesen ingyenes programozó / szoftverfejlesztő OKJ -s képzésre, de nem vagyunk elegen, hogy induljon a képzés. Ha valaki szeretne ingyen tanulni, mint én, akkor hívja fel a sulit telefonon, vagy írjon nekik e-mail-t, hogy esti szoftverfejlesztő OKJ -ra szeretne járni. Teljesen ingyenes. Köszi a többiek nevében is ha csatlakozol, vagy ha szólsz az ismerőseidnek, akiket esetleg érdekelhet a képzés. Sose késő :)

Üdv!

NevemTeve Creative Commons License 2019.08.06 0 0 80

Mindegy, nagyon szívesen.

Előzmény: GreenIT (79)
GreenIT Creative Commons License 2019.08.06 0 0 79

Erdekes, mennyire le tudtok ragadni az "egy lista, es annak sok eleme" szinten.

Mint a Kina az "egy Kina" szinten, szegeny taiwaniak.:-(

 

Ertelemszeru, hogy tobb lista kezelesere kerdeztem mindig.

Mindegy, koszonom.

Előzmény: NevemTeve (78)
NevemTeve Creative Commons License 2019.07.30 0 0 78

> Nekem több lista kell, és a listákat kell valahogy automatikusan kezelni.

 

Mi az, hogy automatikusan? Valamilyen mesterséges intelligencia találja ki, hogy mik legyenek a listák elemei?

 

Egyébként szerintem egy tömbre gondolsz, aminek az elemei listák. Pythonban a tömböt is listával lehet implementálni, pl:

 

#!/usr/local/bin/python
lists = []
lists.append (['Elso', 'First', 'Premiere'])
lists.append (['Masodik', 'Second', 'Deuxieme', 'Zweite'])

print lists
for l in lists:
  print l
  for e in l:
     print e

Előzmény: GreenIT (77)
GreenIT Creative Commons License 2019.07.30 0 0 77

Eleg absztraktak a kerdeseid, ha tobb konkretumot irnal, lehet hogy jobb adatszerkezetetre kapnal javaslatot.

Nekem ugy tunik, pontosan tudod, mirol van szo.

 

pl legyen 8 set, akkor letrehozza oket:

Milyen adatokbol, milyen szabaly alapjan?

 

Eleg egyertelmu, hogy a peldakban mindig csak egy listaval dolgoztok, nekem tobb lista kell, es a listakat kell valahogy automatikusan kezelni.

 

 

Ahogy a legelejen irtam, jo lenne, ha lenne vegre egy ertelmes konyv, es talan a fejlesztoknek is kellene valami ertelem, hogy miszerint fejlesztik a pythont, mert nekem ugy tunik, hogy radikalis kulonbsegek vannak kulonbozo veriziok kozott es ez nagyon nem jo.:-((

 

Előzmény: _szergej_ (76)
_szergej_ Creative Commons License 2019.07.25 0 0 76

Hogyan tudom for ciklussal megoldani a set-ek letrehozasat?

pl legyen 8 set, akkor letrehozza oket:

Milyen adatokbol, milyen szabaly alapjan?

 

A dict eseteben kizarolag ket elem szerepelhet?

A dict kulcs-ertek parok halmaza, barmennyi (ld. a korabbi valaszt) parost tartalmazhat.  A kulcsnak egyedinek kell lennie, ertekeknek nem. Ha a dictbe mar egy letezo kulccsal akarsz uj adatot berakni, akkor az elozo felulirodik.

Pl.:

book_properties = dict(book_id = 12345, title = "blabla", author = "XY", added = datetime.datetime(2019, 01, 12, 12, 34))

book_properties["author"] = "ZZZ"

(Ez a struktura osztalykent is reprezentalhato, szemlelet kerdese, hogy a dictben tartolt adatok megfeleltethetoek-e egy osztalynak..)

 

Ha tobb szin van, akkor kell neki szin1, szin2, stb.?

A fentiek szerint igen: kutya= {"szin1": "fekete", "szin2": "feher", "szin3": "barna", "nev": "Bloki"}. Vagy a szineket listaba/tuple-be/setbe/ rakod: {"szin": ("fekete", ...)...}

 

Eleg absztraktak a kerdeseid, ha tobb konkretumot irnal, lehet hogy jobb adatszerkezetetre kapnal javaslatot.

Előzmény: GreenIT (75)
GreenIT Creative Commons License 2019.07.25 0 0 75

Koszonom, akkor mar csak egy kerdesem van e eltunok:

 

Hogyan tudom for ciklussal megoldani a set-ek letrehozasat?

pl legyen 8 set, akkor letrehozza oket:

set1

set2

set3

stb.

 

Illetve meg egy kerdes:

A dict eseteben kizarolag ket elem szerepelhet?

A peldakban csak ilyen szerepel, hogy pl.

szin : fekete

 

Ha tobb szin van, akkor kell neki szin1, szin2, stb.? 

Előzmény: _szergej_ (74)
_szergej_ Creative Commons License 2019.07.24 0 0 74

Csakhat, ugye, elvileg van maximalis karakterszam, amit be lehet irni illetve ki lehet iratni egy sorba

Jo, de ezt egy normalis UI (GUI/TUI) tudja kezelni: szovegek csonkolasa, tobb sorba valo tordeles, scrollbar...

 

A leirasokbol viszont a lista es tuple mind memoriaban foglalja helyet, ami eros korlatot jelent.

Nem szukseges mindent a memoriaban tartani, csak annyit, amennyi az adott feladathoz/szamitashoz szukseges. (Persze lehet a memoriaban is - cache, de kitalaltak mar ezt.) Nyilvan egy alapszintu leiras nem fogja teljeskoruen taglalni ezt a problemat, ahogy irtad bemutatjak a Python alapjait 20 db elore megadott szammal.

 

Eddig barmivel talalkoztam, ez elejen volt egy hasonlo adatbeviteli rutin:

Pythonban is van for ciklus:

l = []

for i in range(9):

  l.append("adat")

 

vagy rovidebben list comprehension: l = [i for i in range(1, 21) if i % 2 == 0] ez peldaul listaban visszaadja az 1 es 20 koze eso paros szamokat.

 

Mindezt user inputtal:

data = [input("Ird be a(z) %d. adatot: " % i) for i in range(1, 6)]

 

Van meg dict + set comprehension, bovebben: https://docs.python.org/3/tutorial/datastructures.html

 

3. halmazok

Beepitett set tipus, pl:

s1 = set({1, 2, 3})

s2 = set({3, 4, 5})

s3 = set({1, 2})

s4 = set({8, 9})

 

1. fuggetlenek egymastol, ha nincs egyetlen kozos elemuk se: s4.isdisjoint(s3) => True

2. egyik a masiknak teljesen resze: s3.issubset(s1) => True

3. vannak kozos elemeik, de mindkettonek van olyan eleme, ami a masikban nem szerepel: s1.symmetric_difference(s2) => {1, 2, 4, 5}

 

Hasznalhatoak az ismert operatorok is pl. 2. pelda igy is irhato: s3 < s1. Tovabbi info: https://docs.python.org/3/library/stdtypes.html#set

 

Ezert kerdeztem, hogy milyen lehetoseg van meg lista es tuple mellett, kulonosen, ha rengeteg adatrol van szo.

Ajanlom meg ezt olvasasra/hasznalatra: https://numpy.org/ (ezen kivul biztos vannak meg alternativak)

Előzmény: GreenIT (73)
GreenIT Creative Commons License 2019.07.23 0 0 73

Koszonom a valaszod, gyorsan kellett irnom.


Gepfuggo (memoria)

Na igen, erre tippeltem, mert annyit talaltam, hogy a tuple kisebb memoriat foglal, mint a lista.
Csakhat, ugye, elvileg van maximalis karakterszam, amit be lehet irni illetve ki lehet iratni egy sorba, egeszen mas, mint egy hatalmas adatbazisbol mindig csak azt a par rekordot beolvasni, ami eppen kell.

 

Ezen a forumon is van vagy tobb millio hozzaszolas, topikokba rendezve, oldalankent n db megjelenitve beloluk, a HTTP keresnek megfeleloen (nyilvan nincs is a memoriaban az, ami nem kell)...

Na igen, ezt hivjak adatbazisnak.
A leirasokbol viszont a lista es tuple mind memoriaban foglalja helyet, ami eros korlatot jelent.

 

melyik programnyelv(ek) tutorialja(i)ban targyaljak ki ezeket (akar mar a legelejen)?

Eddig barmivel talalkoztam, ez elejen volt egy hasonlo adatbeviteli rutin:
for i=1to9
a(i)="adat"
next

Itt sehol se talaltam ilyet, hogyan tudom lista1 - lista9 ciklussal listakba bevinni az adatokat?
Amiket talaltam, ott elore megadtak a lista elemeit, es utana csak adott lista elemeivel vegeztek muveleteket.

 

Mit akarsz az elemekkel csinalni?

Eddig harom lehetoseg merult fel:

1. "keresztlista"
lista1 = alma, baba, retek
lista2 = alma, gumi, labda
stb.

Meg kell keresni, hogy adott elem melyik listakban szerepel:
lista_alma = lista1, lista2
lista_baba = lista1
stb.

 

2. tablazat

Ez tuple-kkel a legjobb:
tuple1 = 1,3,5
tuple2 = 1,2,5
tuple3 = 2,4,5

Ekkor azonnal letre lehet hozni es kiiratni a 3x5-os tablazatot

 

3. halmazok
tobbfele eredmeny lehet:
1. fuggetlenek egymastol, ha nincs egyetlen kozos elemuk se
2. egyik a masiknak teljesen resze
3. vannak kozos elemeik, de mindkettonek van olyan eleme, ami a masikban nem szerepel

Ez a legproblemasabb, nem talaltam ra osszehasonlitasoknal megfelelo parancsot ra, es ugy tunik, egeszan maskent kell osszehasonlitani listakat, tuple-kat es valtozokat.

Ezert kerdeztem, hogy milyen lehetoseg van meg lista es tuple mellett, kulonosen, ha rengeteg adatrol van szo.

 

Előzmény: _szergej_ (72)
_szergej_ Creative Commons License 2019.07.21 0 1 72

Listanak, tuplenek, stb. hany eleme lehet maximum?

Gepfuggo (memoria). Amugy sys.maxsize: The largest positive integer supported by the platform’s Py_ssize_t type, and thus the maximum size lists, strings, dicts, and many other containers can have.

 

A mintapeldakban allandoan kiiratjak az elemeket, ami nyilvan csak max. 20 elemig ertelmes dolog. Mi van, ha tobb szaz elemu a lista? Ki se fer a kepernyore.

Mi a kerdes? Mit akarsz az elemekkel csinalni? Ezen a forumon is van vagy tobb millio hozzaszolas, topikokba rendezve, oldalankent n db megjelenitve beloluk, a HTTP keresnek megfeleloen (nyilvan nincs is a memoriaban az, ami nem kell)...

Mas programnyelvek mintaprogramjaiban mit csinalnak a 20 elemnel tobbet taralmazo listaval/vektorral/tombbel stb?

 

"adatbazis elem"

Ilyen tipus nem letezik a pythonban, barmit is jelentsen

 

Erdemi osszehasonlitasokra hogyan van lehetoseg?

Tudsz sajat implementaciot is adni (sajat) tipusokra:

https://docs.python.org/3/library/operator.html

https://docs.python.org/3/library/functools.html (total ordering)

 

Peldaul ciklusba rendezni, hogy ha van ezer elemem, akkor mondjuk 50-esevel tarolja tuple001, tuple002, stb.-be?

Ezt hogy erted? Jojjenek letre automatikusan a tuple001, tuple002.. valtozok? Vagy listak listaja?

 

Mekkora elemszamot optimalis listaban, vagy tuple-ben kezelni? Erdemesebb 50-esevel darabolni..

Mennyi elemet akarsz kezelni? Csinalhatsz ra mereseket, de felesleges szvsz.

 

Hogyan lehet vele adatbazist kezelni es milyen tipusut?

SQLite3 beepitett tamogatas van: https://docs.python.org/3/library/sqlite3.html

Amugy a csomagkezelovel (pip install pkgname) olyat telepitesz fel amit szeretnel, pl:

- https://pypi.org/project/pyodbc/

- vannak MySQL / psql etc. DBMS-ekhez is csomagok

- ORM alapuak

- NoSQL

- stb

celiranyosan segit a google, ha mar jobban tudod mit szeretnel.

 

Ha van pl. 50x20 tuple-m, es tudni akarom az osszes elemet, akkor egyesevel kell uj listaba letrehozni oket egyesevel szurve, vagy egyszerubb csak listaba masolni, majd kiszurni a duplatr?

Ez mit jelent? Van 50 db 20 elemu tuple-d vagy 1000 db n elemu? tuple-nel hasznalhato a hash() osszehasonlitasra (nem kell a tuple elemeit egyesevel osszehasonlitgani), listanal nem. Amugy, ha adatbazisbol jonnek a rekordok, miert nem azzal szursz?

 

+ bonusz, csak a kivancsisag kedveert: melyik programnyelv(ek) tutorialja(i)ban targyaljak ki ezeket (akar mar a legelejen)?

Előzmény: GreenIT (71)
GreenIT Creative Commons License 2019.07.21 0 0 71

Pythont kezdtem tanulgatni, de ugy tunik, a peldak nagyon primitivek es alapveto informaciokat se talalok, amiket mas programozasi nyelvekben mar az elejen kitargyalnak.

 

Tudna valaki segiteni, hol talalok rendes peldakat?

Elsosorban a lista, tuple es tarsai erdekelnek, vagy adatbaziskezeles.

 

Nehany pelda, mire gondolok:

Listanak, tuplenek, stb. hany eleme lehet maximum?

A mintapeldakban allandoan kiiratjak az elemeket, ami nyilvan csak max. 20 elemig ertelmes dolog. Mi van, ha tobb szaz elemu a lista? Ki se fer a kepernyore.

 

Lista, tuple, adatbazis elemeinek osszehsonlitasara szinte semmi lehetoseget nem talaltam, csak a < jelet hasznaljak, de a leiras szerint az csak lexikografikusan dolgozik. Erdemi osszehasonlitasokra hogyan van lehetoseg?

(peldaul hogyan tudom meg, egy tuple-nek egy masik tuple valodi es teljes resze, vagy csak par kozos elemuk van, vagy nincs kozos elemuk, csak az elemszamuk kulonbozik?)

 

Hogyan lehet parameteradassal listakat letrehozni?

Peldaul ciklusba rendezni, hogy ha van ezer elemem, akkor mondjuk 50-esevel tarolja tuple001, tuple002, stb.-be?

 

Mekkora elemszamot optimalis listaban, vagy tuple-ben kezelni?

Erdemesebb 50-esevel darabolni, kulonosen, ha csak elemek szerinti kiiratasra van lehetoseg a kepernyon?

 

Hogyan lehet vele adatbazist kezelni es milyen tipusut?

 

Ha van pl. 50x20 tuple-m, es tudni akarom az osszes elemet, akkor egyesevel kell uj listaba letrehozni oket egyesevel szurve, vagy egyszerubb csak listaba masolni, majd kiszurni a duplatr?

NevemTeve Creative Commons License 2019.05.11 0 0 70

Mert valamilyen segítőprogram (valószínűleg maga a PySrcipter) valamilyen gyorsbillentyűt (hotkey-t) rendelt hozzá.

Azt kell még tudni, hogy AltGr=Alt+Ctrl tehát Alt+Ctrl+X -re keress.

Előzmény: drkl (69)
drkl Creative Commons License 2019.05.11 0 0 69

Csak néhány nem muxik, de sajnos

a # közte van...

Előzmény: NevemTeve (68)
NevemTeve Creative Commons License 2019.05.08 0 0 68

Minden ilyen AltGr-s billentyűt kipróbáltál, vagy csak néhányat?

Előzmény: drkl (67)
drkl Creative Commons License 2019.05.08 0 0 67

Helo,

 A pyscripter programot használnám magyar w10 alatt, de a billentyűzet kezeléssel gondok vannak.

Ami altgr+bill, azt nem kezeli. Valakinek ötlete?

drkl

Drezzer Creative Commons License 2019.04.17 0 0 66

Eljutottam odáig, hogy helyesen átváltja amit kell, már csak a kiiratással van problémám :

https://pastebin.com/DvNqZHJa

_szergej_ Creative Commons License 2019.04.17 0 1 65

Miert szeretned listaba rakni a tizesbe() fuggveny eredmenyet?

 

Amugy ajanlanam figyelmedbe a https://pastebin.com/ szolgaltatast (vagy van meg 1000 masik ilyen), oda bekopizhatod a forraskodot (vagy csak a lenyeget). Elonyok:

- nem kell screenshotot (akar tobbet) keszitened, ide feltoltened:

  - macera - pastebinen ez ctrl-c ctrl-v + ide egy link beszurasa

  - a kep itt megmarad az orokkevalosagig - a pastebinen torolheted/torlodik automatikusan

- konnyebb mindenkinek kiprobalni a kodod elesben, nem kell bepotyogni a keprol

 

Előzmény: Drezzer (61)
NevemTeve Creative Commons License 2019.04.17 0 0 64

Esetleg külön megfordítás helyett:

szamok = str(maradek).append(szamok)

Előzmény: _szergej_ (60)
Mutual Friend Creative Commons License 2019.04.17 0 0 63

Nem lehet hogy sima idézőjelet kell használni ottan ? ...

Előzmény: Drezzer (62)
Drezzer Creative Commons License 2019.04.17 0 0 62

Azt meg tudtam csinálni, hogy a tizesbe fv tudja kezelni és kiirja egy listába, de onnan a valt fv nem szeretné.

Előzmény: _szergej_ (60)
Drezzer Creative Commons License 2019.04.16 0 0 61

Út közben sikerült úgy módosítanom, hogy működjön. Az egyetlen problémám az maradt, hogy ha listát kap bemenetként akkor listába adja vissza a számokat.

Előzmény: _szergej_ (60)
_szergej_ Creative Commons License 2019.04.16 0 0 60

A valt() fuggvenyed majdnem jo, kiveve, hogy forditott sorrendben irja ki a szamokat. Javaslom, hogy print helyett gyujtsd a szamjegyeket egy listaba, majd fuzd ossze azokat, valahogy igy:

 

def valt(szam, szamrendszer):

   szamok = []

   while szam > 10:

       ... (a ket sor ok)...

       if maradek < 10:

          szamok.append(str(maradek))

       else:

          szamok.append("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[maradek])

 

   eredmeny = "".join(szamok[::-1]))

   print(eredmeny)

 

Utolso elotti sor, ha ismeretlen dolgok vannak benne: a szamok[::-1] megforditja a lista elemeit, azaz az [1,2,3]-bol [3,2,1] lesz, stb. A "(sep)".join(iterable) a lista elemeit osszefuzi egymas melle a (sep) szeparatorral, jelen esetben ez ures string, azaz a szamjegyek nem lesznek elvalasztva egymastol.

 

A tizesbe() fuggvenyed nem ertem, a for i-s ciklus mire jo..., az kb igy nezzen ki:

 

def tizesbe(szam, mibol):
    osszeg = 0

    for idx, c in enumerate(str(szam)[::-1]):
        helyiertek = mibol ** idx
        osszeg += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".index(c) * helyiertek

    return valt(osszeg, szamrendszer)

 

Magyarazat: a 'szam'-ot stringge alakitva szamjegyenkent vegig lehet menni rajta. Fentiek alapjan a [::-1]-gyel megforditjuk, igy nem kell azzal kulon torodni hany szamjegybol all a szam. A for idx, c in enumerate(...) cucc olyan ketto-az-egyben dolog, az 'idx' megadja a szamjegy helyet (ebbol szamithato a helyiertek - ld. https://hu.wikipedia.org/wiki/Helyi%C3%A9rt%C3%A9k), a 'c' pedig maga a szam. Az '01...XYZ'.index(c) megadja az adott szamjegy 10-es szamrendszerbeli reprezentaciojat, ezekbol meg osszerakhato a bemeneti szam 10-es szamrendszerbeli reprezentacioja. Ami mar valthato a masik szamrendszerbe.

 

Nyilvan nem bolondbiztos a kod: ugye csak 36-os szamrendszerig mukodik, csak nagybetukkel, nem tartalmazhat barmilyen karaktert stb, szoval az inputot megfeleloen kell validalni meg atalakitani.

 

Előzmény: Drezzer (59)
Drezzer Creative Commons License 2019.04.16 0 0 59

 Írtam egy ilyet..de nem igazán akarja azt amit kéne és kifogytam az ötletekből. Prog.hu-n kaptam rá egy megoldást de a sajnos felejtős mivel a feladat tele volt olyan megoldásokkal amiket nem is tanultam esetleg valami, hogy mivel lehetne életre kelteni?

NevemTeve Creative Commons License 2019.04.16 0 0 58

Pontosabban mondva, stringet olvasol, számmá alakítod, aztán a számot újra stringgé.

Ebből az első lépés számjegyenként kézenfekvően történik; a második lépésnél (a maradékképzés műveltét használva) a számjegyek jobbról-balra sorrendben keletkeznek, erre ügyelni kell.

Előzmény: Drezzer (57)
Drezzer Creative Commons License 2019.04.16 0 0 57

Tényleg.. elnéztem! Szóval a második feladattal jutottam el odáig, hogy szerintem úgy lehetne a legkönnyebben megoldani, hogy pl 3- as számrendszerből váltom 10-esbe és onnan a kívántba. Lehet nem ez a legegyszerűbb megoldás, de számomra ez a legkézenfekvőbb. 

 

NevemTeve Creative Commons License 2019.04.16 0 0 56

Mostanáig az elsőről volt szó, olvasd el figyelmesen a 41-es hszt.

Előzmény: Drezzer (55)
Drezzer Creative Commons License 2019.04.16 0 0 55

Köszönöm szépen az eddigi hozzászólásokat! Esetleg az első feladathoz valakinek lenne valami elképzelése, hogy mit is lehetne? Már csak az hiányozna.

NevemTeve Creative Commons License 2019.04.16 0 0 54

Fals.

n=(n-n%10)/10

 

Egyes nyelvek (PL/SQL, Python3) furcsa, unintuitív dolgokat csinálnak a kézenfekvő síma n/=10 hatására.

Előzmény: NevemTeve (53)
NevemTeve Creative Commons License 2019.04.16 0 0 53

Nyilván 1-től n-ig növekvő sorrendben állítjuk elő az elemeket, minden lépésben csak az előző elemre van szükség:

köv:=akt+digsum(akt)

akt:=köv

 

Haladó esetben a digsum-ot nem stringgé alakítással csináljuk, hanem osztással:

sum=0

while (n!=0) {

  sum += n%10;

  n = (n-sum)/10;

}

Előzmény: Mutual Friend (52)
Mutual Friend Creative Commons License 2019.04.16 0 0 52

De meg kell határozni az n elem értékelt alapból.

 

Én tanulási szándékkel az elemeket gyűjteném egy tömbbe és kilistáznám mondjuk 10-15 elemék és szemmel verném ellenőrzés miatt. 

Előzmény: NevemTeve (51)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!