Új hozzászólás Aktív témák
-
olivera88
veterán
De beraktam. meg a pontokat is. Most megpróbáltam anélkül, de semmi. Egyáltalán tudja milyen programmal tudja lefuttatni azokat amik a listában szerepelnek? Mert szerintem nem. A Magics ++ nak kell h lefuttassa a python scripteket. Bocsi ha hülyeséget kérdeztem.
Sonar
Hát a program dokumentációjában nem találtam róla leírást h lehetne egyben is megírni, de megpróbáltam tegnap az összes időpontot egy fájlba berakni, és sikerült le is futtatni, nem kellett semmit módosítani benne. Csak ebben az nem tetszik hogy ha valamit módosítani kell az egyik kódba mert nem jól jelent meg a térképen valami akkor futtathatom le újra.
Köszi. Majd megnézem a cront is.
[ Szerkesztve ]
LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
-
sonar
addikt
Soronként debuggolást én Visual Studio + IronPython, értelemszerűen csak win alatt láttam.
Illetve akad még a pdb (python debugger) amivel lehet step by step debuggolni és platform független, de ez nem az az igazi ide-s.
syntax highlight-osat nem igazán tudok mondani linux alá. talán az eclipse megfelelő pluginnel tud ilyet isA tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
cousin333
addikt
Elvileg egy alap Python és a Spyder nevezetű IDE képes ilyesmikre.
Amit én használok, az a Winpython. Van benne minden, mint a búcsúban (neked nyilván sok is lesz), választható 2.7.x vagy akár 3.4.x (esetleg korábbiak), 32 és 64 bit egyaránt. Ja és nem kell telepíteni sem, csak kicsomagolni. Igaz úgy már >1GB... . Van benne Python + hadseregnyi modul (numpy, matplotlib, pandas, sympy...) + Spyder + IPython + Qt konzol + Qt Designer is. És ingyenes.
[ Szerkesztve ]
"We spared no expense"
-
adamch4
tag
köszönöm! kipróbáltam a splittelést, de végül ez egyszerűbbnek tűnt:
newname = tif_file[:-4]+"_kivagat.img"mindvégig az 'inRaster'-rel próbálkoztam, holott a 'tif_file' kellett volna. ez így megállja a helyét?
[ Szerkesztve ]
Ahol nincs alternatíva, ott az igazságból hiányzik valami.
-
Sajnos a dict típust nem én választottam, a dialógus így tölti fel a változót. Gondolom azért, mert van olyan dialógus, ahol egyszerre többet is kijelölhetek. De ez most nem ilyen. Ha meg sztringbe konvertálom, akkor sem érek vele sokat. De megoldottam már!
Valahogy így:
try:
if response['item'] == 1:
print('1')
elif response['item'] == 0:
print('0')
except KeyError:
print('Kilépés...')
exit(0)Először én is erre a stacked if-re gondoltam, de a try elvileg gyorsabb is. És így nem csak akkor lép vissza, ha canceled kulcs van a változóban, hanem nem várt, egyéb eseteknél is (persze csak KeyError-nál).
Azért köszi!
De a karakterkódolós hiba még mindig fennáll... Ahogy észrevettem, ha a
droid.dialogGetInput(név,szöveg)
-en keresztül kérem be a usertől a linket/szöveget, akkor az más kódolással érkezik, és ezért hal meg a kód a fentebb bemásolt ascii hibával. Hogy lehetne kideríteni a kódolást és megoldani azt, hogy kódolja át UTF-8-ba?[ Szerkesztve ]
Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!
-
cousin333
addikt
Igen, a Python3-ban egyféle int típus van, ami gyakorlatilag tetszőleges méretű számot képes kezelni. Ha pedig szükség van a hosszakra - például egy 16 bájtos összetett struktúrát kell értelmezni -, akkor ott a beépített struct vagy a nagyszerű bitstring modul, amivel használhatsz 23 bites előjel nélküli egész számokat is, ha éppen az kell neked, vagy igazi, egy bites boolean-t (vagy többet). Mindezt kicsi indiánnal vagy naggyal (endianness).
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
A zárójeles megjegyzésed (szó szerint) adja meg a választ. A Python támogatja az összehasonlítások összefűzését, például ez teljesen rendben van:
if 3 < a < 10:
print('Közötte van')
else:
print('Nincs közötte')A 2.7-es Pythonban így írnak erről: [link]
Tehát ez azonos azzal, hogy 3 < a és a < 10, valamint az egész sor rögtön hamis lesz, ha a%2 egyenlő nullával.Ezek alapján a kérdéses sorod azt jelenti, hogy a%2 egyenlő 1 és 1 nem egyenlő winningSit(n/a). Ha kiteszed a zárójeleket (ahogy írtad), akkor már azt jelenti, amire te gondoltál.
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
Azt hiszem a helyes megoldás ez lenne, ami mellesleg megszünteti a félreértéseket is:
if a%2 == 1 is not winningSit(n/a):
Egy másik érdekesség számomra ez a két sor:
n,m=map(int,raw_input().split())
arr=map(int,raw_input().split())Nekem valahogy nem a map jut eszembe megoldásként, sokkal inkább a list comprehension, különösen a második sornál:
n, m = (int(i) for i in raw_input().split())
arr = [int(i) for i in raw_input().split()][ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
Félreértés ne essék, a te megoldásod is teljesen jó, sőt, rövid tesztem alapján valamivel gyorsabb is. Csak nekem meg valahogy a list comprehension rögzült, talán azért, mert a Java nem fertőzött meg .
A tuple meg azért az, mert elvégre tuple unpacking-ről van szó . Egyébként teljesen jó a lista is.
"We spared no expense"
-
Szenty
tag
Javasolt olvasmány: Python Patterns - An Optimization Anecdote
[ Szerkesztve ]
-
EQMontoya
veterán
Tisztában vagyok vele, voltam pár progverseny döntőjében (Ericsson, NNG, stb), és hidd el, sokat tud számítani a megfelelő algoritmus megtalálása után némi bitbaszkurálás, amivel mondjuk 3 óráról leviszed a futási időt félre.
A legutóbbi nagyobb cucc, amit Pythonban csináltam, több gigás logfile-okat parse-ol fel. Nem árt ésszel csinálni.
[ Szerkesztve ]
Same rules apply!
-
justmemory
senior tag
Ja értem
Egyébként egyfelől a próbálgatás maga is tanulás. De azért ezt nem úgy kell elképzelni, hogy kútfőből nekifogok valamit beírni aztán hátha jó lesz Ahhoz, hogy végül akár alkalmazásokat is tudjak írni, meglehetősen sokat kellett olvasnom is; hol könyvet, hol fórumokat, hol kódokat, hol manuálokat. Számomra ez hatékonyabb volt, mert mindig lelkes maradtam. Amikor meg csak a tankönyvet követtem, sajnos hamar ráuntam... Ez csak tanulási módszertan; számomra ez válik be. Az megint más kérdés, hogy számomra ez hobbi, semmi egyéb
A tk számomra fehér folt, valamiért "nem tetszett", szóval ezt passzolom.
[ Szerkesztve ]
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
justmemory
senior tag
Na igen, ez nehéz... nekem volt olyan problémám, amit 1 hétig gugliztam és olvasgattam, mire sikerült megoldást találni... Kitartás...
Sajnos a 3-al egyáltalán nincsen tapasztalatom, a 2.7-el is csak minimális; telón 2.5 van elsősorban, így bizonyos szempontból ahhoz vagyok kötve.
Egyébként most találtam a telómon egy scriptet; opengl tesztelésre lett írva pythonban (na nem általam),
és ott lehet egy objektumot mozgatni, alapvetően nem használ ablakkezelőt; legalábbis nem importálja pl.
a gtk modult.[ Szerkesztve ]
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
cadtamas
tag
Köszönöm!
Azért kell a pár második tagjának indexe, mert az a pár kell aminek mindkét tagja előrébb van.(5,1,3,2,7,4) (5) nél az eredménynek (3,2)-nek kell lennie, hiába kezdődik az (1,4) hamarabb
Még valami ilyesmin gondolkodom:
for num, pair1 in enumerate(ints):
pair2=s-pair1
Csak nem tudom a pair2 indexét hogyan tudnám kikönyörögni... -
#82595328
törölt tag
Bocs, de ezt nem is értem.
Nem igazán értek az osztályokhoz. De az elméletét nagyjából megértettem egy lakástervezéses példa alapján.
Az ős egyik tulajdonságát szeretném lecserélni az új osztályban. Ez lenne az osztályok egyik előnye. Hogy könnyedén lehet módosítani az alapprogramot annak módosítása nélkül.Azaz tételezzük fel, hogy Egy az egy sima szoba, egyik a magasság, másik a szélesség.
A Ketto osztály meg legyen egy kör alakú szoba, ahol az egyik a magasság (ezt örökölnő az ősből), a másik pedig a sugár(erre cserélném le a szélességet). (Lehetett volna négyzet, meg kör alapú hasáb is. A magasság meg terület így lenne értelme a szorzásnak, de a probléma szempontjából mindegy.)Azaz az az Egy(sima szoba) mintát akarom módosítani egy Ketto(kör alakú szoba) mintára. Úgyhogy az attribútumok értékét felhasználói input adja meg.
Tehát lényegében az osztályok első előnyét akarnám leprogramozni, hogy egy meglévő mintát (osztályt) felhasználva, készítek egy másik mintát (osztályt). Még csak nem is bonyolítottam egyelőre másik metódussal. Ennek egyszerűnek kellene lennie, de mégsem az.Tehát még egyszer első körben szeretnék egy osztályt módosítani egy származtatott osztállyal. Ez lenne a programomnak a lényege. A felhasználói adatbekérés már csak ráadás. De így is működnie kellene.
-
#82595328
törölt tag
Pedig az tök egyszerű.
Az intervallum változó nem úgy nézne ki, hanem valahogy így
((intervallum1, hozzátartozó érték1),(intervallum2, hozzátartozó érték2),..(intervallumn, hozzátartozó értékn))
Innen már gondolom egyértelmű, hogy bármennyi elem esetén lesz külön parancs.for x,y in intervals: sajnos fogalmam sincs, hogy tudnám használni
-
#82595328
törölt tag
Igazából az intervallumokat én így akarom megadni:
intervals = (2,4,7,12)
Az egyes intervallumokat a változó egymás utáni elemeiből rakom össze (2-4,4-7,7-12), így kevesebb adat kell, relációkkal kezelem az átfedést.
azaz
if változó > intervals[0] és változó <= intervals[1]
parancsok
if változó > intervals[1] és változó <= intervals[2]
parancsok
Ez for ciklussal is menni fog, hiszen csak léptetnem kell a változó elemeit. Szerintem ez már menni fog.Persze simán át lehet alakítani ezt (2,4,7,12) erre (2-4,4-7,7-12) akkor ez is működhet.
for x,y in intervals:
for i in xrange(x,y+1):
parancs()De ez nekem még új. Majd kipróbálom.
Köszönöm a tippeket! Azt hiszem innen már elboldogulok.
[ Szerkesztve ]
-
sonar
addikt
A sorhossz limit nálam is gond szokott lenni, főleg ha van egy összetett SQL lekérdezés. (az ilyen warn-ingokat ignorálom) De alapvetően igyekszem betartani az ajánlásokat.
Szerintem ha vki igényes akkor szánjon időt a formázásra is.
Mostanában nem kódolok sokat, de ha ránézek egy összetett kódra azért abból látszik sokszor, hogy mire számitson az ember...
Falra tudnék mászni, mikor össze vissza vannak kommentelve a dolgok, idébb odébb egy-egy tab befigyel...
spacek minden fele..., meg az idióta változó nevektől, össze vissza kis és nagybetükkelA tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
cousin333
addikt
Mit akarsz gyorstalpalni? Youtube videók: [link]
Aztán persze van könyv is: Python for Data Analysis.
Szerintem nem száraz a hivatalos dokumentáció sem, különösen a 10 perces bemutató. Kifejezetten jól dokumentált modul, sok rövid példával. Én is itt kezdtem az alapokkal:
Series
,DataFrame
,Panel
(utóbbi már nincs).Az alap koncepciókat kell megérteni - az meg azért nem egy machine learning -, a többit meg a dokumentációból kikeresed, ahogy a szükség megkívánja. Például hogyan tudok két DataFrame-et egyesíteni oszlopok mentén [link]... stb.
Van már cheat sheet is: [link]
Ha mindenáron oktatást akarsz, akkor itt egy akció: [link]
A Jupyter Notebook használata persze alap az ismerkedéshez...
ui: én már ezt várom: [link]
[ Szerkesztve ]
"We spared no expense"
-
EQMontoya
veterán
C++-ban a sima set mögött ugye RB tree van, így a string < operátorával pontosan szófa épülne belőle std::set használata esetén, pythonban viszont nincs ilyen kollekció alapból (a set ugye itt hash alapú), olyannal meg nem akartam traktálni a kedves usert, amihez esetleg kell valami további modul.
[ Szerkesztve ]
Same rules apply!
-
justmemory
senior tag
Persze, oké, csak azért írtam, mert tényszerűen ez volt az utolsó angol nyelvű ajánlás a részletek kiderülte után. De végtére is nem számít, mert... Mindegy. Egyébként én is azt gondolom, hogy ha már a gyerek ilyesmivel akar foglalkozni, akkor igazán kaphatna annyi felnőtt segítséget, hogy angolról fordítanak neki...
OFFOFF: anno matematikus barátom régi orosz könyvekből tanult matekot az egyetemen kiegészítésképpen, pedig nem tud oroszul. De azt mondta, hogy a képletek egyetemesek; ha nagyon kell, akkor szótár meg van.../OFFOFF
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
GreenIT
tag
offoff: a szociban az oroszok jogdijjal "szorakozas" nelkul kiadtak a kulfoldi konyveket oroszra forditve, ezert pl. a JATE matek tanszeki konyvtar eleg jelentos resze orosz nyelvu... /offoff
A BM(G)E is ezt az utat valasztotta, kulonosen az 1990-es evek vege fele, amikor az orosz forditasok elobb erkeztek meg hozzajuk, mint az eredeti angol vagy amerikai konyvek a beszerzesi ido miatt, igy nehanyan mar a forditasi hibakat is kijavitottak addigra.
-
kovisoft
őstag
Engem régebben a range() készített ki Python 3-ban, ugyanis itt már lazy módon értékelődik ki (csak akkor, amikor ténylegesen felhasználjuk az elemeit). Próbálgattam command promptban mindenféle range-eket, és csak ennyit írt ki:
>>> range(10)
range(0, 10)Ugyanez Python 2-ben:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Python 3-ban pl. a list-tel lehet kikényszeríteni a kiértékelést::
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9][ Szerkesztve ]
-
Siriusb
veterán