Új hozzászólás Aktív témák
-
axioma
veterán
válasz
EQMontoya
#2048
üzenetére
Hat addig OK, ha egy egyezest kell vizsgalni. De mi van ha tobb hash egybeesik es meg kell keresni kozule hogy melyik a mienk, ott mar minimum valami logaritmikus tag bejon. En inkabb erre gondoltam. Ill. pl. ha stringrol beszelunk, akkor linearis a hosszaval az egyezes-vizsgalat.
De ez azert az itt felmerulo peldaknal nyilvan irrelevans. -
kovisoft
őstag
válasz
EQMontoya
#2042
üzenetére
De hát ugye ez is egy ciklus, hiszen végigmegy a filter a kulcsokon.
Ha nagyon fontos, hogy O(1) lépésben meglegyen, akkor típus szerint külön dict-ben célszerű tárolni az elemeket. Ekkor viszont az összes dict-ben egyszerre történő keresés lesz macerásabb, amire lehet írni egy függvényt, ami típus szerint a megfelelő dict-ből olvas. Vagy lehet használni az unpacking operatort (**) a dict-ek összefűzésére, pl:
> dtuple={(1,2,3):1, (4,5,6):2}
> dint={7:3, 8:4}
> {**dtuple, **dint}
{(1, 2, 3): 1, (4, 5, 6): 2, 7: 3, 8: 4} -
V.Stryker
nagyúr
válasz
EQMontoya
#1952
üzenetére
Köszönöm. Bénázgatok vele.
Beiratkoztam egy python tanfolyásra nulla programozói tudással, de csak áprlilisban kezdődik. Azt tudom már, hogy PyCharm-al fogunk dolgozni. Önállóan már próbáltam előzőleg is, más IDE-ket is és nekem kicsit nehézkesnek tűnik egy SublimeTexthez képest. De azt mondják, hogy többet is tud. Elfogadom.Már csak jól be kéne állítani, de olyan k.rva bonyolultnak tűnik.

-
KEAN
tag
válasz
EQMontoya
#1834
üzenetére
Persze-persze, tudom. Azonban itt a items és a new_items is lista. (az items lehet tuple is) Csak azt akartam megmutatni, hogy a locals() használatával lehet egy kicsit "trükközni" és az eredeti elképzelés mentén is megvalósítható a dolog.
Bármilyen valós helyzetben én sem javasolnám a megoldásomat.

Ráadásul előttem már leírták az egyik helyes megoldást. -
válasz
EQMontoya
#1655
üzenetére
szeretnék én is annyiszor egy gombóc fagyit, ahányszor ebbe belefutottam...! ez egy rohadt idegesítő vonzata annak, hogy a pythonban minden (még a függvény is) object. ilyenkor ha lenne egy hibaüzi, hogy ilyen állat nincs, akkor az ember tudná, hogy ez így biztosan nem lesz jó.
-
válasz
EQMontoya
#1653
üzenetére
az a rövid kódja, ami mindig is működött.
a hosszabb példában, amiben a for ciklus is van, következetesen rosszul van meghívva a close.szerintem hibaüzenetet kapott arra, amikor a a for ciklusban függvényként hívta a close()-t, mert a következő iterációnál a már lezárt fileba akart beleírni, és így khm... 'javította'. mert így nem kapott hibaüzenetet futtatásnál. erre írtam, hogy ha lehet, toljuk ki a close()-t cikluson kívülre.
-
-
Zuzu
csendes tag
-
Mr Dini
addikt
válasz
EQMontoya
#1427
üzenetére
Köszönöm!

Végül mégis az aiohttp clientjét használtam, s nem bántam meg. Nagyon jól dokumentált, funkciódús dolog. Tökéletes a feladatra. Egy dolog hiányzik még, az pedig a timeout. Jelenleg az asyncio wait_for-ját használom, ami teszi szépen a dolgát, de érdekel, hogy lehet-e ezt valahogy "szebben" megoldani. Néztem a doksit, de nem találtam egyelőre erre vonatkozó információt.
-
cousin333
addikt
válasz
EQMontoya
#1198
üzenetére
"Akkor látszik, hogy a relációsjel precedenciája nagyobb az összeadásénál."
A helyzet az, hogy fordítva kell olvasni a listát, tehát pont az összeadás prioritása nagyobb.

"The following table summarizes the operator precedences in Python, from lowest precedence (least binding) to highest precedence (most binding)"A Pythonban lehet olyan feltételt írni, amitől a C egy hátast dobna, pl:
if 5 < x <= 14:
print('Közötte van')A fenti példában:
a < b+c == TrueEz így értékelődik ki:
(a < (b + c)) and ((b + c) == True)Ebből a második tag
Falselesz, aminek az oka:
"The default behavior for equality comparison (== and !=) is based on the identity of the objects. Hence, equality comparison of instances with the same identity results in equality, and equality comparison of instances with different identities results in inequality."Az
a+begy számot ad eredményül, ami nem azonos aTrue-val. De ac< a+beredménye már egy boolean, ami lehetTruemeg lehetFalse. -
-
KEAN
tag
válasz
EQMontoya
#1176
üzenetére
Sziasztok!
"shortcut operators: rövidzárnak hívjuk magyarul. A logikai és (Pythonban: "and") és a logikai vagy (Pythonban: "or") úgy működnek, hogy ha az első kifejezés értékéből egyértelműen következik az eredmény, akkor nem értékeli ki a másikat."
Szerintem, ez inkább a short-circuit "definíciója".
A shortcut (rövidítés) a +=, -=, /=, stb. akar lenni.
Például: sum = sum + 5 rövidíthető így: sum += 5 -
kezdosql
tag
válasz
EQMontoya
#1173
üzenetére
Koszonom, van,amit ertek.

argument: --...
Ez mit akar jelenteni? Morzejelek?
handler (exeption-nel fordul elo): except:
Ezt se ertem.:-(
List Comprehensions: [x for x in ... if ...]
Koszonom, ezt sejtem.

prompt: ~
annak a karakternek a neve?
right-hand side expression: ami jobb oldalt van
Vagyis a keplet vagy kifejezes jobb oldalon talalhato karakterhalmaz
sequence unpacking: for x in ...
Ezt mreg nem talaltam meg.
shortcut operators: && illetve ||
Tehat ezek is karakterek.
slice notation: X[y:z]
Ez nem ugrik be, X halmaz y-z kozti tartomanya?
string-literal: "..."
idezojelbe tett szoveg?
tuple: (..., ..., ...)
erre is csak tippelek: felsorolas? sorozat?
-
adam0913
tag
-
Mr Dini
addikt
válasz
EQMontoya
#1088
üzenetére
Ohh, valóban!

Viszont erre kapok egy szép
android.util.AndroidRuntimeException: No dialog to add button to.hibát a konzolba, ha nem Toastot, hanem dialógust szeretnék megjeleníteni. Arra tudok tippelni az android.py ismerete nélkül, hogy van még valami fontos objektum/változó, ami így nem kerül betöltésre.Mindenesetre, akkor maradok a jól megszokott verziónál!

Más: Pyc kódot lehetséges importálni valahogy?
-
cousin333
addikt
válasz
EQMontoya
#1034
üzenetére
Ez melyik sshtunnel verzió? Csak mert a hivatalos dokumentációban is szerepel a
with-es megoldás, ráadásul szinténstart()nélkül.A hivatalos oldalon fenn van a fájl a kérdéses sorral: sshtunnel.py
Az
__enter__()metódus - awithnem az__init__()-et használja - pedig tartalmazza aself.start()függvényhívást.Vagy akkor valamit rosszul értek...

-
cousin333
addikt
válasz
EQMontoya
#986
üzenetére
Tudom, ismerem, de azért köszönöm a kiegészítést. Az már mondjuk inkább Python level 2 szintű megoldás...
. Plusz kell hozzá még egy sor:from collection import defaultdictÖsszességében az eredeti 9 sor kódból lett 7. A level 3 megoldás meg már csak 3 soros:
import pandas as pd
data = pd.read_table('myfile.txt', sep=';', names=['Film', 'Rendezo'])
data.Rendezo.value_counts() -
cousin333
addikt
válasz
EQMontoya
#968
üzenetére
Én is erre gondoltam először, de a #966-ban egyértelműen ott van, hogy
prec = 28(ez az alapértelmezés). Amit én írtam, az meg nem fog működni, mert hibásan adtam meg. De ha jó lenne, akkor sem menne, mert egy másik config esetében sincs semmi a flags-nél, mégis jó. Aclamp = 1-re gondoltam még, mint lehetséges ok, de az sem az. Szóval most már nem tudom, mi van... -
-
cousin333
addikt
válasz
EQMontoya
#904
üzenetére
Ez egy nem triviális kérdés, hiszen mindenkinek mások az előismeretei, képességei és gondolkodásmenete, de szerintem a Think Python (PDF) egy ilyen kezdő-barát könyv, mert érhetően, egyszerű szavakkal, tömören elmagyarázza a programozás alapjait is. Egyébként ebből a szempontból a Swinnen könyv is ajánlható, sőt, összehasonlítva meglepően sok az egyezés a két forrás között...
Ami nekem a Swinnen könyvben nem tetszik - és amit már többször is jeleztem -, hogy elavult: 2005-ben adták ki, ami a Python 2.4 ideje... a 3-ast nem említi, hiszen az akkor még nem is létezett. Sok minden most is érvényes, más dolgok viszont megváltoztak, kibővültek azóta, akár az alap dolgokat tekintve is. Csak néhány példa:
- print: statement vs függvény
- egész osztás
- xrange vs range (izip vs zip... stb)
- sztring vs byteSzerintem ha valaki most ismerkedik vele, az egyből a 3-assal kezdjen és ne tanulja meg feleslegesen (es adott esetben hibásan) a 2-est, csak majd jóval később, ha szüksége lesz rá (ha szüksége lesz rá).
Hozzáteszem: magyar nyelven még mindig nem nagyon van alternatívája a Swinner könyvnek.
-
cousin333
addikt
válasz
EQMontoya
#883
üzenetére
Ha már optimalizálás, tud valaki javasolni egyszerűen használható grafikus könyvtárat, amivel mindenféle interaktív grafikonok készíthetők és könnyen elboldogul több millió adatponttal?
Amiket néztem: matplotlib (jó, de nem túl gyors), Seaborn (kb. ugyanaz), Plot.ly (netes, fizetős is, nem érdekel), Bokeh (ezt még nem ismerem eléggé), Vispy (ez lenne a favoritom, de még mindig félkésznek tűnik). Jó lenne valami, ahol a
data.plot()-nél nem sokkal bonyolultabb szerkezetekkel célt lehet érni. -
axioma
veterán
válasz
EQMontoya
#881
üzenetére
Nyilvan vannak extrem esetek: anno amig az xrange() helyett range()-t hasznaltam (2.7) a for ciklusnak, es osszejott valami huzosabb kombinacio, na akkor neztem nagyot hogy miert lassu... igen, alapveto dolgokkal tisztaban kell lenni, de egy 2-es konstans szorzo tenyleg nem jellemzo hogy szamit, vagy nagyon max par %-nyi pontot lehet veszteni vele (a tobbi teszteset lefut).
Masreszt azert en algoritmusokrol szolo versenyekrol beszelek, ott a kezdo feladatok utan a naiv algo mint megoldas nem fog ugyse bejonni... valami pluszt kell belevinni. -
-
Noddy
senior tag
válasz
EQMontoya
#685
üzenetére
Köszi!

Így már működik, mondjuk korábban annyi volt, hogy csak beírtam a számértékeket megfelelő sorrendben:
program.py 180 23 40 és számolta is, de most program.py --degree 180 --minute 23 --secundum 40
Persze legalább működik
Az a2,a3 és b változónak float típust adtam most már meg, elvileg nekem most így működik. Érdekes hogy nem találtam olyan netes konvertert ami fok, perc, másodpercet számol radianba csak fok-radiant számolót, biztos van csak nem találtam. -
cousin333
addikt
válasz
EQMontoya
#672
üzenetére
Szerintem is talán a legprofibb eszköz Python fejlesztéshez (is), ha nagy projektem lenne, valószínűleg abban nyomnám. Kis projektekhez viszont - épp az autocomplete és a hozzá hasonló funkciók miatt - elég fejnehéznek tűnik. Értsd: túl komplex egy pár soros programhoz (a telepítője 160 MB) és túl sokat molyol a háttérben, amitől kissé darabosnak érződik a számomra.
Aki nem ismerné: PyCharm
-
justmemory
senior tag
válasz
EQMontoya
#664
üzenetére
Sziasztok!
Szerintem sincs szükség arra, hogy ha már "else", akkor a "kerdes" változónak másik értéket adjunk...
Illetve nem tudom, hogy a sys miért van importálva, használva nincsen
A fájl mentését én valószínűleg gtk-val oldanám meg, mert így ha terminálban adja meg a fájlnevet a user, akkor két dolog van, szerintem: vagy az abszolút elérési utat gépeli be (macera), vagy abba a könyvtárba fogja menteni a txt fájlt, amelyben a script fut...
Tennék bele egy olyan apróságot is, hogy az "i" és "n" betűkön kívül mást ne tudjon megadni a user, mert ebben a formában ha nem "i"-t nyom, azt "n"-nek fogja érzékelni a program.
Az elejére valószínűleg betennék még annyit, hogy
#!/usr/bin/python - nem feltétlenül szükséges, csak könnyebb futtatni;
#-*- coding:Utf-8 -*-; nem tudom, hogy ez utóbbi feltétlenül kell-e; python 2.5-öt használok (régi, tudom, de ez van), ott az ékezetes karakterek miatt kell; nem tudom, hogy a 2.7 vagy akár a 3 tudja-e kezelni alapból az ékezetes karaktereket. -
axioma
veterán
válasz
EQMontoya
#650
üzenetére
OK, a lenyeg hogy a megoldas egy harmadik
en csak netto algoirasra - versenyek - hasznalom a pythont azt se regota, sorry, nem kellett volna beleszolnomSzerk. korrekt, sztem volt ahol en is hasznalhattam volna csak eszembe nem jutott keresni - nekem a list, map, set es problemamentes int az ami altalaban fontos a pythonbol, de akkor mar erdemes mas nyelvi finomsagokat is megtanulni
-
justmemory
senior tag
válasz
EQMontoya
#638
üzenetére
Igen, én első körben az if-re gondoltam, de a try is jó, nyilván.
Az a gond, hogy nem tudni, hogy a kétféle dátumformátum honnan és milyen módon kerül beolvasásra, de gondolom egy fájl-ból, simán str-ként vagy int-ként.Ha a formátuma változhat, akkor arra ki kell találni valamit, mert nyilván a sok try és if nem szép
Arról nem is beszélve, hogy a formátumonbanl akár az is változhat, hogy 2016-01-01 vagy 2016-1-1... 
Regex-et még nem írtam, nem volt rá szükségem...
Relatíve alapszinten vagyok még, bár erre nincsen rálátásom, mert amúgy közöm nincs az informatikához végzettségileg -
justmemory
senior tag
-
cousin333
addikt
válasz
EQMontoya
#632
üzenetére
Melyik Python verzió volt? A 3-asban nyilván iterátort használ, minden ciklusban kér (és kap) pontosan egy új sort, ezáltal kevés memóriát fogyaszt. Akkor tölti be az egészet egyszerre, ha listát készítesz belőle. Viszont a Python for ciklus nem a sebességéről híres, de talán a fájllal könnyebb dolga van, bár az sem fix, hogy összefüggő memóriacímen helyezkedik el.
Én a fájl olvasgatásnál mondjuk a numpy genfromtxt függvényét vetettem össze a pandas from_table függvényével és meglepetésre utóbbi látványosan gyorsabb volt.
-
szaszayanou
aktív tag
válasz
EQMontoya
#623
üzenetére
import random
asd = open("kiserlet.txt", "r")
kiserlet = asd.read()
print "On szerint fej lesz vagy iras?"
tipp=input("Irjon be 0-t ha fej, vagy egyest ha iras: ")
gepi=random.randrange(0, 2)
if int(tipp)==gepi:
print "Eltalalta"
else:
print "Sajnos tevedett"
#3-ik feladat
print "a feleadatbeli kiserlet ", len(kiserlet), "darab mintabol all."
#4-ik feladat
fejekszama = 0
for i in kiserlet:
if i == "F":
fejekszama = fejekszama + 1
fejekszama = float(fejekszama)
print "a fejek relativ gyakorisaga: ", (fejekszama/len(kiserlet))*100, "%."
szamlalo = 0
ketfej= 0
while szamlalo < len(kiserlet):
if kiserlet[szamlalo] == "F" and kiserlet[szamlalo+1] == "F":
ketfej = ketfej +1
szamlalo = szamlalo + 1
else:
szamlalo = szamlalo + 1
print ketfej -
cousin333
addikt
válasz
EQMontoya
#594
üzenetére
Először is, nincs benne ékezet, és ők is magyart használtak a pszeudokódban. Másrészt ez egy magyar fórumon adott segítség, az ilyesmi legyen a vizsgázó baja

Azért kíváncsi vagyok, mit szólnának ehhez, elvégre angolul van
:def isnumber(input_string):
ans = True;
for i in range(len(input_string)):
if ((input_string[i] < '0') or (input_string[i] > '9')):
ans = False;
return ans;
Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Hisense LCD és LED TV-k
- Milyen SSD-t vegyek?
- Vezetékes FEJhallgatók
- Kerékpárosok, bringások ide!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- DOOM - The Dark Ages
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Milyen routert?
- OpenMediaVault
- További aktív témák...
- IBM TS3200 48-Slot Tape Library (45E1330), 2x LTO-4 FC Tape Drive (35P2510)
- IBM TS3100 Tape Library (3573-L2U), 1x IBM LTO Ultrium 4 FC 4Gb/s Tape Drive (95P5817)-without Tapes
- Nintendo Switch 2 Mario Kart edition Gyári tok Gyárli fólia
- Apple watch Ultra 2 aktiválatlan új 1 év Apple jótállás
- HP Omen
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- Frissen pasztázva! Playstation 4 Pro 1 TB + kontroller 6 hó garancia, számlával!
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
- Apple iPhone 13 ProMax 256GB Kártyafüggetlen 1év Garanciával
- Xiaomi 15 256GB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest











