Hirdetés

2018. június 25., hétfő

Gyorskeresés

Hozzászólások

(#1) Xelo


Xelo
(PH! addikt)

Üdvözlet mindenkinek!
A témát azért nyitottam hogy a címben megnevezett programozási nyelvet kitárgyaljuk, illetve segítséget nyújtsunk azoknak akik kérnek (első vagyok e sorban :D ).

A Python egy magas szintű objektum-orientált programozási nyelv, ami némileg hasonlít egyes szkriptnyelvekhez (Perlhez, Scheme-hez, TCL--hez), illetve más nyelvekhez is (Java, C). Fő előnye hogy "könnyen" (khm :U ) tanulható, komoly alkalmazások fejlesztésére is alkalmazható, sőt rendkívül hatékony.

Főbb előnyei:
hordozható, integrálható, viszonylag egyszerű, nagyteljesítményű, dinamikus, s nyílt a forráskódja.

Python-ról magyarul:
[Wikipédia]
[Python.hu]
[Python oktatás]
-
[Python 2.5.2 Windows operációs rendszerre]

Hogyan kezdjünk hozzá a tanulásához?
Nehéz lenne okosat mondanom, ugyanis én se vagyok a programozás nagyöregje, DE úgy látom jó úton haladok. Gérard Swinnen : Tanuljunk meg programozni Python nyelven c. könyvét nagyon ajánlom, ami ingyenesen letölthető a python.free-h.net oldalról. E mellé pedig érdemes beszerezni Brad Dayley: Python zsebköny c. csodáját, ami sok hasznos Python programrészletet foglal magában.

[ Módosította: Viktor0610 ]

(#2) mm00 válasza Xelo (#1) üzenetére


mm00
(fanatikus tag)

Végigcsináltam a könyv első 30 oldalát meg kipróbálgattam az ablakos dolgokat a vége felé. Szimpatikus dolog. Sok dolgot lényegesen egyszerűbb elvégezni, mind C vagy C++ba. Felépítésre első ránézésre kicsit elüt a "népszerű" nyelvektől.

Körülnéztem a gépen és találtam hoszonvalamennyi könyvet. Van játék programozás, szerver-kliens programozás, [link]-en keresztül webes fejlesztés, adatbázis kezelés stb...

Szóval a lehetőségek határa majdnem végtelen! :D

(#3) vipisti válasza mm00 (#2) üzenetére


vipisti
(tag)

Webprogramozáshoz a TorboGears mellett ott vannak még a Django, Zope és Pylons keretrendszerek.

Gnothi seauton.

(#4) cousin333


cousin333
(PH! kedvence)

Remek, hogy megnyílt ez a topik, már én is gondolkoztam azon, hogy kellene egy. Viszont most éppen se kérdésem, se kérdés... :D

Kissé mondjuk meglep, hogy ilyen gyér itt a forgalom. Ami a Python nyelvet illeti, mindenkinek csak ajánlani tudom. Nyilván nem való mindenre, de sok mindent képes egyszerűen, hatékonyan és logikusan megoldani. Ami "érdekessége", hogy használható szkript módban is, tehát egy sor, egy parancs, ami azonnal végre is hajtódik (kivéve persze az if, for, while és egyéb nyalánkságokat), vagy éppen írhatunk egy komplett programot sima Wordpad-ben is.

Amire felhívnám a figyelmet! A 2.5.2-es verzió szép és jó, kellően kiforrott. De 1-2 hónapon belül elkészül a 3-as változat (más néven Python 3000), ami visszafelé nem kompatibilis módon jópár dolgot megváltoztat. Szóval aki most kezdené el tanulni, az szerintem inkább az utóbbival tegye, hogy szokja... Pillanatnyilag a beta 3 érhető el Linux, és a beta 2 Windows alá. Néhány változás a 2.5.2-höz képest: [link]

[ Szerkesztve ]

(#5) vipisti


vipisti
(tag)

Figyelemfelkeltőnek megemlítem, mire használtam Pythont régebben. A PyWin32 egy COM-os interfészt ad, így néhány soros (tényleg kb 10 sor) kóddal olvashatunk Excel fájlokat. Hasznos lehet, ha többszázat kell feldolgozni...

Gnothi seauton.

(#6) vipisti


vipisti
(tag)

Még 1-2 forrás a Pylons keretrendszerhez:
- WSGI
- Pylons Cookbook
- The Pylons Book

Gnothi seauton.

(#7) D.R.O.


D.R.O.
(kvázi-tag)

Hali!

Elnézést h bepofátlankodom, de tolok egy linket még a témához.

[link]

Mindenféle jóság.

A Marsról jöttem, de már kúr*ára visszamennék!

(#8) cousin333


cousin333
(PH! kedvence)

No, akkor elindítanám a felemelkedés útján ezt rendkívül aktív topikot... :) Tehát a kérdésem:

Van egy listám, mondjuk:

gyumolcs = ['alma', 'körte', 'banán', 'szilva', 'barack']

Ezen mennék végig egy for ciklussal:

for elem in gyumolcs:
print elem

Namost, hogyan lehetne (menet közben) megmondani, hogy éppen hanyadik elemnél járok a listában? Az, hogy felveszek mondjuk egy count változót, amit folyamatosan inkrementálgatok, az triviális. Még esetleg az is belefér, ha az index() - gyumolcs.index('banán') - metódussal lekérem a sorszámot, de ezzel baj van, ha több 'banán' is szerepel a listában... Nincs erre valamilyen célszerűbb, egyszerűbb módszer? Lehetne persze így is:

for i in range(len(gyumolcs)):
print gyumolcs[i]

Ebben az esetben az i lesz a sorszám, de ez a megoldás jóval kevésbé elegáns, nem vall a Pythonra. :)

[ Szerkesztve ]

(#9) cousin333 válasza cousin333 (#8) üzenetére


cousin333
(PH! kedvence)

No, a megoldás úgy tűnik az enumerate() függvény használata, ami tuple-ket ad vissza. Tehát pl. két mód a használatára (az előbbi példánál maradva):

1.

for i,elem in enumerate(gyumolcs):
print elem # ez lesz a gyümölcsnév
print i # ez lesz az aktuális sorszám

2.

for elem in enumerate(gyumolcs):
print elem[1] # ez lesz a gyümölcsnév
print elem[0] # ez lesz az aktuális sorszám

[ Szerkesztve ]

(#10) cousin333 válasza cousin333 (#9) üzenetére


cousin333
(PH! kedvence)

Jó volt veletek beszélgetni :)

(#11) D.R.O.


D.R.O.
(kvázi-tag)

ÉÉésss ittvan a 3-as verzió. Szabadjára engedték.

A Marsról jöttem, de már kúr*ára visszamennék!

(#12) raczger


raczger
(őstag)

üdv

most ismerkedek a nyelvvel, futtatni is csak nagy nehezen sikerült (persze a legalapvetőbb dolog soha sincs leírva:) ), megtaláltam ugyan hogyan kellene de nem ment, de mindegy, mert máshogy megoldottam

szóval, van amikor azt írja ki, hogy: syntax error: unexpected end of file
a másik pedig, mikor erre írja ki a hibát: elif n >= 3 unexpected token stb...
esetlegesen mik lehetnek a hibalehetőségek, nekem nem sikerült eddig még rájönnöm:(
előre is köszönöm

www.movat.hu - http://bit.ly/2mIziA4

(#13) nickwearby


nickwearby
(lelkes újonc)

Helló,

windows XP alá tettem fel a Python 2.6.1-os verziót.

A .py végződésű programokat dupla kattintással le tudom futtatni,
de mivel rögtön bezárul, ezzel nem sokra megyek.

Viszont a python.exe futtatásakor nem tudom, mit kellene beírni, hogy onnan futtassam,
már sok mindent próbáltam amit a neten írtak, de mindenre hibát jelez.

Pl. ezeket próbáltam:

python fájlneve.py

teljes elérési útvonal python fájlneve.py

teljes elérési útvonal mindenféle változatban python fájlneve.py

fájlneve.py

Többnyire sytax errort ír ki.

Van valakinek ötlete, hogy mi baja lehet?

Már átírtam a Path változót, a registryt, több nem jut az eszembe, hogy mit kéne.
A megnyitandó fájlt betettem a python főkönyvtárába, úgy próbáltam.

Előre is kösz a választ:

nick

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#14) cousin333 válasza raczger (#12) üzenetére


cousin333
(PH! kedvence)

Forráskód esetleg?

Ha telepítetted a Win-es verziót, akkor az IDLE környezet jól használható. Vagy írod soronként, és lefuttatja, vagy írsz egy külön .py fájlt, és akkor nem kell mindig mindent újra megírni. Futtatni meg F5-el tudod.

(#15) cousin333 válasza nickwearby (#13) üzenetére


cousin333
(PH! kedvence)

esetleg:
python fájlneve
python.exe elérési úttal fájlneve

Vagy használd az IDLE-t, és onnan nyisd meg a py fájlt, majd F5.

(#16) nickwearby válasza cousin333 (#15) üzenetére


nickwearby
(lelkes újonc)

kösz a választ,
de közben utánanéztem angol fórumokon is a problémámnak,
és ott kiderült, hogy a python interpreterjében windows alatt nem lehet futtatni a scriptet...
hanem csak parancssorból.

valahogy ez eddig nekem nem volt egyértelmű....

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#17) D.R.O. válasza nickwearby (#16) üzenetére


D.R.O.
(kvázi-tag)

Ha az a baj hogy rákattintsz és egyből eltűnik, akkor tegyél a végére egy inputot, amely egy billentyű leütésre vár. Akkor nem fog eltűnni egyből, csak amikor már jól megnézted mit csinált a programod.

A Marsról jöttem, de már kúr*ára visszamennék!

(#18) cousin333


cousin333
(PH! kedvence)

Na, akkor kissé pörgessük meg a topikok...

Szóval, lenne egy feladatom. Adott egy szöveges fájl az alábbi felépítéssel:

a b c d
1 2 3 4
5 6 7 8
9 8 7 6
5 4 3 2

Tehát van egy x hosszúságú fejléc, és alatta soronként azonos számú szám. A fejléc az első sor, a számsorokból száma tízezres nagyságrendű (egy sorban kb. 10 elem található, de ez az érték - elvileg - minden sornál fix). A sorok elemei között tabulátor karakter található.

A feladat egy olyan csv fájl létrehozása lenne, ami az említett fejléccel kezdődik, megadott számú sort átlagol és kiírja az eredményt az új fájl egyetlen sorába. Tehát, a fenti példánál maradva a kiírt fájl ez lenne (ha a megadott sorszám mondjuk 2):

a b c d
3 4 5 6
7 6 5 4

Mert a 3 az az eredeti fájl első két sora első elemeinek az átlaga: (1+5)/2, a 4 az a másodiké: (2+6)/2 és így tovább, remélem érthető. Ha a számsorok száma nem egésszámú többszöröse az átlagolás számának, akkor a kimaradó elemek nyugodtan elhagyhatóak. A programnak nem kell hülyebiztosnak lennie, tehát nem kellenek bele mindenféle extra ellenőrzések, kivételkezelések, meg ilyesmik.

A programnak a feldolgozandó fájl nevét, és az osztások számát (hogy hány soronként átlagoljon) kellene bekérnie a futás során. A kimeneti fájl neve nyugodtan lehet a bemeneti fájl módosított verziója.

A cél az lenne, hogy egy minél egyszerűbb, minél hatékonyabb és minél "Pythonosabb" kód szülessen.

+1 feladat: Képes legyen felismerni, ha egy számsor esetleg a kelleténél kevesebb elemből áll, és kijelezze a sor számát, ahol ez először előfordul.

[ Szerkesztve ]

(#19) cousin333 válasza cousin333 (#18) üzenetére


cousin333
(PH! kedvence)

Ennyire ne tépjétek magatokat... :D

Amúgy alant látható a saját megoldásom, hátha az meghozza a vitakedvet...

fileName, cnt = input('Fajl neve? '), int(input('Oszto? '))

with open('d:\\' + fileName + '.txt', 'r') as iF:
allData = [line.strip('\n').split('\t')[1:] for line in iF]
header, datas = allData[0], [[float(x) for x in elem] for elem in allData[1:]]

with open('d:\\' + fileName + '_avg.csv', 'w') as oF:
oF.write(';'.join(header)+'\n')

for x in range(len(datas)//cnt):
s = datas[x*cnt:(x+1)*cnt]
oF.write(';'.join([str(round(sum([elem[i] for elem in s])/len(s))) for i in range(len(header))])+'\n')

[ Szerkesztve ]

(#20) zotya7895


zotya7895
(lelkes újonc)

Sziasztok!
Én is most ismerkedek a python nyelvel és nagyon kezdő vagyok ugyanis még a program sincs meg amivel tudnák szerkeszteni a nyelvet, és abban a programban konkréten mit lehet csinálni? Játékot vagy programot vagy weboldalt lehet vele szerkeszteni?
És hol kezdjem a tanulást? valami könyvet tudtok ajánlani? én ugyanis már nézztem az előttem hozzászóltakat és ott is volt egy pár könyv meg doksik meg minden de ezeket rágjam át? :) és utána kezdjek programozni? Ti hol kezdtétek? könyvet olvastatok először és utána programoztatok? Remélem minden kérdésre választ fogok majd kapni :)

(#21) zotya7895


zotya7895
(lelkes újonc)

Sziasztok!
Én is most ismerkedek a python nyelvel és nagyon kezdő vagyok ugyanis még a program sincs meg amivel tudnák alkotni :D , és abban a programban konkréten mit lehet csinálni? Játékot vagy programot vagy weboldalt lehet vele szerkeszteni?
És hol kezdjem a tanulást? valami könyvet tudtok ajánlani? én ugyanis már néztem az előttem hozzászóltakat és ott is volt egy pár könyv meg doksik meg minden, de ezeket rágjam át? :) és utána kezdjek programozni? Ti hol kezdtétek? Könyvet olvastatok először és utána programoztatok? Válaszotokat előre is köszsönöm :)

(#22) zotya7895


zotya7895
(lelkes újonc)

kétszer küldtem el :DD

(#23) cousin333 válasza zotya7895 (#21) üzenetére


cousin333
(PH! kedvence)

Üdv!

Elég nagy a pangás ebben a fórumban, szóval nézd el nekem , hogy csak most válaszolok. Szóval előbb a hivatalos oldalról le kell tölteni a legfrissebb verziót (ami jelenleg a 3.0.1-es). Ezt feltelepíted, és elindítod az IDLE nevű környezetet. Innentől kezdve már írogathatod is a programokat. A mikéntről olvashatsz magyar nyelvű könyvet, amiben az alapoktól indulnak.

Amúgy leginkább programot, vagy játékot készíthetsz vele. Honlapot is lehet, csak ahhoz kevés lesz, más nyelvek is kellenek mellé (sőt, inkább azok).

Szerintem a futtatókörnyezettel meg az ajánlott könyvvel el lehet sajátítani az alapokat, onnan meg már tudni fogod, merre szeretnél tovább menni.

(#24) zotya7895 válasza cousin333 (#23) üzenetére


zotya7895
(lelkes újonc)

Köszönöm a válaszod!
És mikor ajánlatos kezdeni? (már mint a programozást)
Mert én ugyanis 13 éves vagyok. :DD
De remélem ez nem hátrány? :DD

(#25) cousin333 válasza zotya7895 (#24) üzenetére


cousin333
(PH! kedvence)

Szerintem az ilyesmit nem lehet elég korán kezdeni. Esetleg érdemes lehet alapvetően a számítógépek működésével, és magával a programozással (tehát nem egy konkrét nyelvvel) kapcsolatos könyveket is olvasgatni, de a programozói gondolkodást el lehet sajátítani egy programnyelven keresztül is (valamilyen szinten).

Kezdő nyelvként a Python szerintem ideális, mert egyszerűen el lehet vele indulni (minden benne van, ami kell, könnyen telepíthető, a kód akár soronként futtatható), logikus, egyszerű, és rákényszeríti a felhasználót a szép, strukturált kódra. Mindemellett kellően komplex dolgok is megvalósíthatók vele a későbbiek folyamán.

Ha valami kérdésed van, tedd fel nyugodtan, ha tudok, válaszolok rá (én sem vagyok egy guru, de majd igyekszem).

(#26) zotya7895 válasza cousin333 (#25) üzenetére


zotya7895
(lelkes újonc)

köszönöm a válaszod!
:)

(#27) zotya7895 válasza cousin333 (#25) üzenetére


zotya7895
(lelkes újonc)

köszönöm a válaszod!
:)

(#28) zotya7895 válasza cousin333 (#25) üzenetére


zotya7895
(lelkes újonc)

Helló!
Írtad hogy "először jó lenne magával a programozással kapcsolatos könyvet is olvasgatni"
Erre tudsz valami könyvet?
Válaszod előre is köszönöm! :)

(#29) cousin333 válasza zotya7895 (#28) üzenetére


cousin333
(PH! kedvence)

Látod, most megfogtál :)

Olyan könyvre gondolok itt elsősorban, ami a programozás folyamatával és nem konkrétan egy adott programozással kapcsolatos. Tudom, hogy léteznek ilyen könyvek, de nekem személyesen még nem volt hozzájuk szerencsém. :U

Ezt mondjuk nem ismerem, de jónak tűnik, ilyesmire gondoltam.

Az "először"-t inkább visszavonom, legalábbis "párhuzamosan"-ra módosítanám. Egy olyan nyelvvel kellene kezdeni, mint a Python, mert egyszerű és könnyen átlátható. Ennek gyakorlati eredménye is van (a program, amit írsz), és mindjárt példákat látsz az egyes témákra, nem csak a száraz elméletet. Általában a jobbfajta, az egyes programozási nyelvekkel kapcsolatos könyvek is nyújtanak némi általános programozási ismereteket.

[ Szerkesztve ]

(#30) atesss


atesss
(PH! addikt)

Üdv !
Egy kis segítségre lenne szükségem:
Találtam egy cuTorrent nevű kiegészitést a uTorrenthez (illetve a WebUI-jához), amivel egy bat fájlon keresztül le tudnám állítani a seed-elést, ha elérem a napi 5GB-os feltöltési limitet (az adatforgalmat figyelő program már megvan).
Hiába keresgéltem, csak Pythonos forráskódot találtam:
[link] és letöltgető innen: [link]
Na ezt le kéne fordítani még, Windows alá...
Próbálkoztam is vele, de amilyen fejlesztői környezetet letöltöttem hozzá (a python.org -ról), azzal nem sikerült boldogulni, pl. rögtön sytax errort dobott.
Tudnátok ajánlani valamilyen grafikus felületű (igazából a Visual Studiohoz hasonló lenne a legjobb, mivel abban tanultam C-t ) SDK-t ? Meg valami tutorial is jó lenne, hogy hogyan is működik ez.

Vagy ha valaki meg tudná tenni nekem, hogy lefordítja a programot Windows alá, és elküldi nekem, azt nagyon megköszöném. :R

Mégiscsak egyszerűbb lenne, mert ha valakinek fent van az SDK, és tudja is használni, akkor kb. 1 perc alatt le lehet fordítani gondolom, nekem meg akár több óra is lehet, mire tényleg kiismerem, hogy hogyan is kellene ezt csinálni.

(#31) cousin333 válasza atesss (#30) üzenetére


cousin333
(PH! kedvence)

Python 2.6.2-et tedd fel, vagy régebbit, mert a 3-as verzió visszafelé nem kompatibilis.

A Python meg interpretált nyelv, nem kell feltétlenül lefordítani...

[ Szerkesztve ]

(#32) atesss válasza cousin333 (#31) üzenetére


atesss
(PH! addikt)

A fordítással a compile-ra gondoltam, exe-t gyártani a forrásból (ami jelen esetben nem is egy fájl, hanem több mappában jópár fájl; de project fájl meg nincs ami Visual C-nél lenne :F ).
És akkor ehhez a forráshoz a régebbi változatú Python fog kelleni ?

És milyen fejlesztőkörnyezetet tudnál ajánlani, aminek valamilyen jól használható, a Microsoft Visual C-hez hasonló kialakítású kezelőfelülete van ?
Vagy ponthogy abban bonyolultabb lenne így elsőre ?

Találtam egy ilyet: [link]
Itt Eclipse + PyDev plug-in-ról írnak, de itt van egy csomó más SDK neve is: [link]
De elöször akkor a python.org-ról a "Python 2.6.2 Windows installer (Windows binary -- does not include source) ", meg a Java Runtime enviroment kell, nem ?

A Python meg interpretált nyelv, nem kell feltétlenül lefordítani...
"This program has been tested with python2.4 on both linux and OSX (in theory it should work on any system that has python2.4+ installed). "
Én csak ebből gondolom, hogy menne Windows XP-n is, egyébként nem értek a Pythonhoz.

(#33) cousin333 válasza atesss (#32) üzenetére


cousin333
(PH! kedvence)

"A fordítással a compile-ra gondoltam, exe-t gyártani a forrásból"

Értem én, de mondom, hogy erre nincsen szükség, ha egyszer fenn van a Python futtatókörnyezet.

"És milyen fejlesztőkörnyezetet tudnál ajánlani, aminek valamilyen jól használható, a Microsoft Visual C-hez hasonló kialakítású kezelőfelülete van ?"

Igazság szerint nem ismerem különösebben a Visual C-t. Alapfokúbb dolgokhoz szerintem jó a "gyári" környezet, esetleg megtámogatva egy Notepad++-szerű alkalmazással. Komolyabbakhoz valóban rendelkezésre áll az említett Eclipse + PyDev. Működni működik, mert próbáltam, de nekem nincs rá szükségem.

"De elöször akkor a python.org-ról a "Python 2.6.2 Windows installer (Windows binary -- does not include source) ", meg a Java Runtime enviroment kell, nem ?"

Igen. A Java az alap Pythonhoz nem szükséges és szerintem az Eclipse is tartalmazza, ami neki kell.

"Én csak ebből gondolom, hogy menne Windows XP-n is, egyébként nem értek a Pythonhoz."

Letöltöd a win-es telepítőt és felteszed, onnantól kezdve mennie kellene, mert abban minden benne van, ami kell. A 3-assal azért nem volt jó, mert az visszafelé nem kompatibilis.

[ Szerkesztve ]

(#34) labu01wx


labu01wx
(tag)

Sziasztok!
Valaki legyen szíves megmondani, az osztási maradék függvényét.

(#35) RedAnt válasza labu01wx (#34) üzenetére


RedAnt
(senior tag)

%

╚╦╦╦

(#36) cousin333 válasza RedAnt (#35) üzenetére


cousin333
(PH! kedvence)

Azt hiszem, ezzel megnyerted volna a legrövidebb hozzászólás képzeletbeli díját :)

(#37) zotya7895


zotya7895
(lelkes újonc)

Helló!
A programozáshoz kell angol tudás vagy ha elindulsz a programozás felé akkor megtanulsz annyit hogy elég legyen?
részben ide vág :)

(#38) cousin333 válasza zotya7895 (#37) üzenetére


cousin333
(PH! kedvence)

Üdv!

Nem kell, mindenesetre nem árt. A legfontosabb, hogy magyar nyelvű segítséged legyen, a Pythonhoz (is) léteznek magyar nyelvű könyvek. Az utasítások angolul vannak a programokban, így az angoltudás megkönnyíti a memorizálásukat és a használatukat, de nem követelmény, elég, ha bebiflázod.

Ami még fontos, az az angol szemlélet: magyarul max. kommentezni szabad,magyar változónevek határesetet képeznek, a lényeg az angol karakterek használata (ékezetmentesség).

(#39) zotya7895 válasza cousin333 (#38) üzenetére


zotya7895
(lelkes újonc)

Köszönöm a válaszod.

(#40) cousin333


cousin333
(PH! kedvence)

Na, megint megkísérlem feldobni a topikot. Szóval volt egy problémám, amit szerencsére már sikerült megoldani.

Adva van egy függvény, az egyszerűség kedvéért ez (a lényeg a több argumentum):

>>> def osszeg(a,b):
return a+b

Adott emellett két (nem feltétlenül, de most jelenesetben) egyforma hosszúságú lista:

>>> a = [1,2,3,4]
>>> b = [5,6,7,8]

A cél az volna, hogy párosával hívjuk meg velük az osszeg függvényünket. Erre egy megoldás lehet a map függvény használata.

>>> x = list(map(osszeg, a, b))
>>> print(x)

[6, 8, 10, 12]

Látható tehát, hogy a kívánt eredményt kaptuk. De mi van akkor, ha nem ilyen listáink vannak, hanem tuple-jet tartalmazó lista, amiket például így kaphatunk:

>>> c = list(zip(a,b))
>>> print(c)

[(1, 5), (2, 6), (3, 7), (4, 8)]

A kérdés, hogy ezt hogyan rakhatjuk be a map függvényünkbe. Nekem úgy tűnik, sehogy, helyette list comprehension-t kell használni, valahogy így:

>>> d = [osszeg(i,j) for i,j in zip(a,b)]
>>> print(d)

[6, 8, 10, 12]

A kérdés azonban nem a-ra és b-re vonatkozott elsősorban, hanem c-re, tehát egy tuple-kből álló listára. Mint mondtam, a map-al nekem nem sikerült a list comprehension-nal (ennek mi a magyar neve?) viszont igen. Így:

>>> e = [osszeg(i,j) for i,j in c]
>>> print(e)

[6, 8, 10, 12]

Köszönöm, csak ennyit akartam mondani, hátha valakinek segítségére voltam. :B

ui: Tényleg ennyire nem használja senki ezt a programnyelvet? :F

Lehet, hogy kellene írnom valami ismertetőt róla, bár én magam sem vagyok egy guru. De ebben a nyelvben éppen az a jó, hogy egyszerűen megtanulható, könnyen használható már alapszintű ismeretekkel is...

[ Szerkesztve ]

(#41) sekli


sekli
(PH! addikt)

heló,

ugyan rettentően kihalt a topik, én mégis megpróbálkozom egy rém buta kérdéssel, egyszerűen csak nem értem, hogy miert nem jó, pedig annyira egyszerű dolog:

van egy osztály:

import random

class Cube():
def __init__(self,x,y,size):
self.x = x
self.y = y
self.size = size

cubes = []

( két dimenziós kocka, nincs harmadik koordinátája, ez most ilyen :) )

feltoltok egy tombot elemekkel:

for i in xrange(0,5,1):
a=Cube
a.x=random.randrange(320)
a.y=80+random.randrange(160)
a.size=(a.y-80)/4
cubes.append(a)
print cubes[i].x #itt ki is irja szepen mindegyik (kulonbozo x-et)

es ezek mar nem mukodnek, egyik sem:

for kocka in cubes:
print kocka.x

mindig a 4-es indexu (utolso) elemet irja ki, xrange()-el sem megy, sot, igy sem:

print cubes[2].x

[ Szerkesztve ]

(#42) RedAnt válasza sekli (#41) üzenetére


RedAnt
(senior tag)

a=Cube

Így zárójelek nélkül "a" a Cube osztályra fog mutatni, ahelyett hogy egy új objektumot inicializálnál.
Helyesen:

def __init__(self, x=0, y=0, size=0)
...
a = Cube()

vagy
a = Cube(0, 0, 0)

Érdemes még az osztály definiálásánál megadni az objectet szülőosztálynak:
class Cube(object):

╚╦╦╦

(#43) sekli válasza RedAnt (#42) üzenetére


sekli
(PH! addikt)

köszönöm szépen!

[ Szerkesztve ]

(#44) Sanyix


Sanyix
(PH! addikt)

hogy lehet ebben a fosban ezt a pyxml libet életrekelteni? Mert az az ősrégi verziós win32-es telepít azt írja hogy nincs python 2.4-em (igen mert 2.6 van). A setup.py-vel buildolva meg mindig elszáll azzal hogy unable to find "vcvarsall.bat".

szövegértelmezés, az ÉRTELMEZÉS a fontos, mert az olvasás mindenkinek megy, de az ÉRTELMEZÉS már komoly probléma a magyaroknál. Gondold ezt át mielőtt marhaságot írsz...

(#45) RedAnt válasza Sanyix (#44) üzenetére


RedAnt
(senior tag)

A PyXML-et régóta nem tartják karban, de miért akarnád azt használni? 2.6-ba be van építve minden ami xml feldolgozáshoz kellhet.

╚╦╦╦

(#46) Sanyix válasza RedAnt (#45) üzenetére


Sanyix
(PH! addikt)

ahhoz képest ez a pyffi nevű másik fos állandóan azért sír hogy nincs xml parser.

szövegértelmezés, az ÉRTELMEZÉS a fontos, mert az olvasás mindenkinek megy, de az ÉRTELMEZÉS már komoly probléma a magyaroknál. Gondold ezt át mielőtt marhaságot írsz...

(#47) ZeUS2140


ZeUS2140
(senior tag)

Sziasztok.

L2j server-t babrálok, modolok (100% legális...) és a quest-ek py-ben vannak megírva.
Elég jól átlátom és módosítgatom, igazítom a saját igényeimhez, de egy résznél elakadtam.
Szóval röviden, hogy felkeltsem a kedveteket: :)
Adott egy quest, ahol 5 dolog választható. Van 5 változó, amit a meghívott html file-ok választanak ki. Pl egyik html file-ban a linkre kattintva SK paraméter jön vissza.
Ezt az elején a definiálásnál leírt SK : [.........] rész tartalmával fel is tölti.
Utána a SK változó tartalmával lefut 3-4 sql írás és kész.

Na a problémám: nekem a 3-4 sql-be írás előtt, közvetlen után kellene egy SK változóban lévő paraméter alapján egy IF ellenőrzés.
Ezt akár milyen formában írom be, már a py file elején megáll.

Vagy az IF részt tolom el, de hibát nem ír sehol, szóval durva hibát nem követek el.

Aki tudna segíteni írjon már rám msn-ben kérem. Küldök egy file-t, elküldöm, hogy mit szeretnék, és hogy csináltam és csak azt kellene megnézni, hogy ez így jó-e, miért nem jó és esetleg egy hogyan kellene.

Eddig így próbáltam: ha SK jön vissza html-ből, akkor SK első változója a newclass = 33

Az sql módosítások elé beírtam:

if newclass = 33 :
st.giveItems(620,1)

Szóval egy sima változó alapján 5 IF rész kellene nekem.

Aki tud, akar segíteni előre is köszönöm. PM-ben, vagy MSN-en megtalál.
MSN: zeus2140@hotmail.com

hülye ember nincs, csak keveset kérdez...

(#48) ZeUS2140 válasza ZeUS2140 (#47) üzenetére


ZeUS2140
(senior tag)

rájöttem, megoldottam...
Lényeg, hogy tárgytalan a kérdésem.

hülye ember nincs, csak keveset kérdez...

(#49) altec


altec
(újonc)

Hello mindenkinek!

Egy olyan programra lenne szükségem, ami ebből:

Csanak Dávid
12
20
Borbély András
27
Pál Balázs
26
13
18

ilyet ilyet tud csinálni:

Csanak Dávid 32
Borbély András 27
Pál Balázs 57

A nevekhez pontszámok tartoznak. Csak az van itt, akinek legalább egy pontszáma van, akinek nincs pontja, az nem szerepel a fájlban. Az adatokat fájlból olvassa be. Az inputfájl a program parancssori paramétere. Ha nincs paraméter, hibát írjon ki.

:( nem nagyon vágom a pythont (és a többi nyelvet se)! :(
Nagyon örülnék :DD , ha segítene vki, még mára kellene.

(#50) kopasza


kopasza
(újonc)

Kernem valaki segitsen ezt kaptam vizsgapeldarah javitsam ki belole a hibakat es komentaljam a program mukodeset es nem nagyon megy :( segitene valaki ?

import GUI, menu
choices :=array("Subotica";t"Palic");
index == appuifw.popup_array(choicess: u"Select:");
$prom = 12;
def calculate($prom);
echo $prom+50

calculate();

if index = 0:
appuifw.note(u"Subotica");
elseif index = 1;
{
appiufw.note(u"Palic")
}

Copyright © 2000-2018 PROHARDVER Informatikai Kft.