- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Két Zen 5-ös dizájnjának mintáit is szállítja már az AMD
- A Colorful "fagyosan kompakt" alkatrészekkel megy elébe a nyárnak
- A Keychron ismét egy űr betöltését vállalta magára az egerek szegmensében
- Az átlagnál vaskosabb ventilátorok kandikáltak ki a Corsair vitorlája mögül
- A Keychron ismét egy űr betöltését vállalta magára az egerek szegmensében
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Dell notebook topic
- Androidos fejegységek
- Micro Four Thirds
- Kormányok / autós szimulátorok topicja
- HiFi műszaki szemmel - sztereó hangrendszerek
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Vezetékes FEJhallgatók
- TCL LCD és LED TV-k
Hirdetés
-
Premier előzetest kapott a V Rising
gp Napokon belül befut a teljes PC-s kiadás, az év során pedig megkapjuk a PlayStation 5 változatot.
-
A legtöbb amerikai szerint a TikTok egy őket befolyásoló eszköz
it Egy felmérés szerint a legtöbb amerikai osztja azon véleményt, hogy a TikTok egy őket befolyásoló eszköz.
-
Egyre közelebb a Poco F6 startja
ma Újabb ár/érték csatát nyerhet a Xiaomi almárka.
Új hozzászólás Aktív témák
-
EQMontoya
veterán
Háj!
Találkozott már valaki olyasmivel, hogy pythonból mailt küldve csak egy MIMEText ojjektumot hajlandó elküldeni, akármennyit csatol?
Itt van egy ilyen példakód, ha ezt csinálom, akkor nálam csak a html érkezik meg. De ha a html-t kiveszem, akkor megjön a plain. A jelenség független a sorrendtől.
Végülis behánytam egy html-be az egészet, szóval nincs nagy gáz, de tényleg jó volna tudni, hogy miaf..ért nem mén ez így.Same rules apply!
-
EQMontoya
veterán
Hát én ma jót nevettem.
Különösen a megoldáson: íme.Same rules apply!
-
EQMontoya
veterán
válasz DrojDtroll #530 üzenetére
Ha létrehozol egy datetime objektumot, akkor a default year 1900. Tehát ha február 29-et próbálsz létrehozni, az exception, mert 1900 feb. 29 ugye invalid. (100 évente nincs szökőév, és 400 évente van).
Fix: ha Febr. 29 az input, és üres az év, akkor 1904 a default year.
Same rules apply!
-
EQMontoya
veterán
Csak a hivatalos Python oldalon lévő tutorialt tudom ajánlani, az szerintem tök jó, de az is épít programozói alapismeretekre. Javaslom, hogy mellé valami általános programozással kapcsolatos könyvet olvass, ami nem a nyelvet magyarázza, hanem a függvények, algoritmusok és mindenféle hasonlók működését.
Same rules apply!
-
EQMontoya
veterán
válasz DrojDtroll #550 üzenetére
Nem.
Sok okból nem, de talán a legfőbb, hogy a cmd csak akkor adja át az argumentumot a programodnak, amikor lenyomod az entert. Tehát addig semmilyen interakciót nem tudsz létrehozni.
A google és hasonló megoldások (intellisense pl.) nyilván eventek alapján működnek egy adott kódon belül.
Egyébként az autocomplete egy elég bonyolult dolog, ha nem vagy túlzottan gyakorlott programozásban, akkor elég komoly fába vágtad a fejszét.
Címkereséshez írtunk anno smartkeyboardod (gyakorlatilag ugyanaz a lényeg, mint itt: csak azokat a billentyűket hagyni aktívan, amelyekkel folytatódhat a cím), és ez rohadtul nem egy triviális dolog.Same rules apply!
-
EQMontoya
veterán
válasz csaszizoltan #574 üzenetére
Annyi megkötéssel, hogy ez nem in-place rendez, hanem le fogja másolni az eredeti listát, és kapsz egy másikat, ami rendezett. Pár ezer elemre nem para.
Same rules apply!
-
EQMontoya
veterán
Same rules apply!
-
EQMontoya
veterán
válasz DrojDtroll #619 üzenetére
Az, hogy a modulod hivatkozik egy másikra, ami még nincs meg neked.
Olvasd el a hibaüzit.Same rules apply!
-
EQMontoya
veterán
válasz szaszayanou #622 üzenetére
Van baj, de rakd be az egész kódot, úgy okosabbak leszünk.
Same rules apply!
-
EQMontoya
veterán
válasz szaszayanou #624 üzenetére
Ha jól sejtem, a végén kapsz egy exception-t.
Index <x> is out of bounds.if kiserlet[szamlalo] == "F" and kiserlet[szamlalo+1] == "F":
Itt ugyanis szamlalo+1 simán túlindexel.
További problémák a kóddal, hogy rosszul számolsz.
Mert 'IFFFI' sorozatot beszámítod kétszer, pedig ha jól értem, Neked azok az esetek kellenek, amikor pontosan két fej van egymás mögött.Same rules apply!
-
EQMontoya
veterán
válasz cousin333 #631 üzenetére
Már csak azért sem, mert a rengeteg I/O művelet aligha tesz jót a teljesítménynek.
Az a durva, hogy nem nagyon.
Mostanság dolgoztam egy logminer alkalmazáson, amit pythonban raktam össze, és a sima open + soronkénti iterálásnál cache-el, chunk-kal, mindenhogy próbáltam jobbat írni, de nem sikerült.
Nagyon jól meg van írva alatta az API, és szerintem behúzza memóriába kb. az egész filet.
Pedig néhány gigás textfile-okat olvasgattam, szóval elég jól mérhető lett volna a különbség.[ Szerkesztve ]
Same rules apply!
-
EQMontoya
veterán
válasz justmemory #635 üzenetére
Az egyetlen baja az strptime-nak, hogy flexibilitása szerintem egy márványtömbbel vetekszik.
Ha kicsit is változik az idő kiírásának formátuma, szórja az exceptiont, mint muter a lisztet a rétes alá.
Kivéve, ha írsz egy elég okos regexet a format részbe, de úgy meg már nem sokkal könnyebb használni, mint megcsinálni kézzel.
Az strftime viszont tényleg baba.[ Szerkesztve ]
Same rules apply!
-
EQMontoya
veterán
válasz justmemory #637 üzenetére
Szerintem még kétféle formátumra is elég rusnya lesz.
Kb. megoldások:
-Felismered Te magad, hogy melyik formátum, és ifelsz.
-try strptime(format 1) expect: blabla strptime(format 2)... (azaz megpróbálod az egyikkel, ha nem sikerül, a másikkal is)
-Írsz valami regexet, hogy mi lehet a pattern. Aki nem használt még regexet, az szenvedni fog.Same rules apply!
-
EQMontoya
veterán
válasz justmemory #639 üzenetére
#example timestamp: Mar 30 11:49:04.880 - the last part can be milisecs or microsecs (6 digits) as well.
timestamp_regex = re.compile('[A-Z][a-z][a-z] \d+ \d+:\d+:\d+\.\d+')
time_in_line = datetime.strptime(timestamp_regex.findall(msg)[0],"%b %d %H:%M:%S.%f")Szóval ilyenkor ez van.
Same rules apply!
-
EQMontoya
veterán
Általánosságban értettem: alapvetően nem szeretünk interaktív programot írni, ami b..tatja a usert, hogy:
-Add meg ezt
-Biztos ezt akarod?
-De tényleg?
-Fűzfán fütyüljek a végén?Akkor inkább: foo --input_file ./bar.txt, --force --fuzfan_futyul
Aztán enter, és megtörténik minden.Same rules apply!
-
EQMontoya
veterán
Kimaradt a dest, nem tudja hová tárolni, így nem fog működni.
parser.add_argument("--degree", dest='degree', help="This program calculate degree to radian.", default=0, type=int)
parser.add_argument("--minute", dest='minute', help="You can add Minute value.", type=int, default=0)
parser.add_argument("--secundum", dest='secundum', help="You can add secundum value.", type=int, default=0)Így már működni fog bármilyen kombinációval, pl. lehet olyan, hogy csak percet adsz meg, vagy fokot és másodpercet, bármi.
Azért van még baj, az egészosztások miatt a percek és a másodpercek nem működnek, de ezt nem lövöm le előre, ebből tanulsz.
Same rules apply!
-
EQMontoya
veterán
Tudsz olyat, hogy megadsz rövidebb verziót az argparse-nak.
Pl. így:
parser.add_argument('--debug','-d', dest='debug', action='store_true', help='Debug - print the structure of order')
parser.add_argument('--profile','-p', dest='profile', action='store_true', default=False, help='Show time spent in each phases')
parser.add_argument('--id','-i', help='ID list - separated by \',\'', required=True)mondjuk korábban annyi volt, hogy csak beírtam a számértékeket megfelelő sorrendben
Persze, így viszont nem tudsz opcionális argumentumokat megadni.
Tehát ezzel így az a baj, hogy mondjuk akkor is ki kell ínrod mindhármat, ha mondjuk 17 szögmásodpercet szeretnél átváltani.[ Szerkesztve ]
Same rules apply!
-
EQMontoya
veterán
-
EQMontoya
veterán
válasz Orionhilles #855 üzenetére
int(n) -> integerré konvertálja n-t, ami esélyesen string. Legalábbis gondolom.
Ez elég csúnya megoldás, mert ez dobhat exception-t, és ez esetben nem írsz ki semmit.A [:n] (itt n már ugye int) pedig annyit fog csinálni, hogy 0 és n-1. karakter közötti részét kiírja a stringednek.
Same rules apply!
-
EQMontoya
veterán
Ebbe most futottam bele, kellett egy dict, ami a c++-os maphez hasonlóan működik, és megtaláltam az ehhez kellő python függvényt:
setdefault(key[, default])¶
If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.Asszem, mind az elnevezésért, mind a leírásért járna a nyers hal a készítőknek.
Same rules apply!
-
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!
-
EQMontoya
veterán
Szerintem csak úgy, hogy ha le tudod valamilyen úton-módon kérdezni, hogy mi van fent a honlapon. Pl. rest api, vagy egy sima http get, aztán
regexxel parse-olsz htmltépítesz belőle egy szép kis DOMot, és kitúrod belőle az adat.Ezt az adatot összeveted a mappád tartalmával, és ha van a mappában olyan, ami már fent van, akkor move. Az egészet meg lehet egy timerre / cron jobra kötni.
Same rules apply!
-
EQMontoya
veterán
válasz cousin333 #890 üzenetére
Ez azért van, mert a lista mutable típusú.
x = [1, 2, 3]
y = x
y.append(4)
print x //[1, 2, 3, 4]Erre való a copy.deepcopy fv.
Fontos tudni, hogy minden kollekció így működik, illetve osztályok példányai is.
Kivételek pl.: int, str, frozenset.[ Szerkesztve ]
Same rules apply!
-
EQMontoya
veterán
válasz cousin333 #906 üzenetére
Az angol nem para, köszönöm a tippeket!
Igazság szerint programozni egyetemen tanultam, főleg C-t, C++, kis Java, C#, basht már magamtól, aztán utána Python, JS már ment tutorial alapján is, mert sok mást láttam. Szóval halvány fogalmam sincs, hogy milyen egy kezdőnek ajánlható könyv, sosem tanultam könyvből programozni.Same rules apply!
-
EQMontoya
veterán
válasz cousin333 #933 üzenetére
Hát ha utóbbit akarsz csinálni, arra van ugye enumerate meg ilyesmi.
Egyébként mostanság olvastam elég sok python kódot, és az az érzésem, hogy a legtöbben C-t írnak, csak nem annyira típusos, és python interpreterrel futtatják. Mindent, ami megvan egyébként a nyelvben a for ciklusok elkerülésére (map, filter, reduce, any, all, stb), azt szépen megírják kézzel.
[ Szerkesztve ]
Same rules apply!
-
EQMontoya
veterán
válasz pbalintka #952 üzenetére
Egy integer 24 byte-ot foglal le, míg a None csak 16-ot. Nem sok de, nagyobb programnál számítani fog.
No ezt azért gondoljuk már át még kétszer.
Kis olvasnivaló, ezt a részt ajánlom figyelmedbe:
The current implementation keeps an array of integer objects for all integers between -5 and 256, when you create an int in that range you actually just get back a reference to the existing object. So it should be possible to change the value of 1. I suspect the behaviour of Python in this case is undefined. :-)
Pythno3-ban már kicsit másképp működik, de az, hogy pontosan hány int(1) objektumod van a rendszerben, illetve hány referenciád azokra, az közel sem olyan triviális, mint ahogy azt Móricka gondolta.
Same rules apply!
Új hozzászólás Aktív témák
- Újszerű - POWERCOLOR Radeon RX 5500 XT 8GB GDDR6 VGA videókártya
- Hibátlan - GIGABYTE GTX 1660Ti Windforce OC 6G 6GB GDDR6 VGA videókártya dobozos
- Hibátlan - PALIT GTX 1650 StormX 4GB GDDR5 VGA videókártya - tápcsatlakozó nélküli !!!
- MacBook Air M1, Space Gray, Magyar billentyűzet, makulátlan
- Samsung Galaxy S22 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Meseszép Montblanc Summit XL Chronograph 7060 (Csere 1TB új Steamdeck-re is.)
- Bontott alkatrészek (HP 450,640,650,ZNook,6470,8560w, Dell 100L,D400,D530,D600,D610)
- 14cm Fractal Dynamic és Noctua P14S Redux 1500 ventik eladók olcsón!
- HIBÁS Toshiba 32LL2A63DG távirányítóval
- LG 22M37A Full HD monitor eladó