Új hozzászólás Aktív témák
-
axioma
veterán
válasz
kezdosql
#2298
üzenetére
Bar meg mindig tudnek kerdezni, hogy pontosan mik a feltetelek, de most mar van fogalmam rola, mire gondolt a kolto. Ez eddig nem jott le, hogy te tulajdonkeppen:
- keresed azt a legkisebb szamot, ahany
- tartalmazasra rendezett reszsorozattal
- le lehet fedni a teljes inputot.
Bar a 3. me'g ennek is ellentmond. Es a reszsorozatok nem minimalisak, pl. a 2. az lehetne csak maga az AC egyedul. -
kezdosql
tag
válasz
moseras
#2294
üzenetére
Koszonom, ezt meg probalgatnom kell.
A vegeredmenyben igy elso pillantasra vannak gondok, kisebb elemszamu listanal nagyobb elemszamu nem lehet kisebb, es a fuggetlenek - pl. elsoben ABCF es DE - kozott nem lehet kapcsolat.
Most azon probalkozok, hogy a fuggetlenseget ellenorzese utan valahogy letrehozzak olyan reszlistakat, amelyek kozott nincsenek fuggetlen listak.
-
kezdosql
tag
válasz
kovisoft
#2292
üzenetére
Koszonom, majdnem jo, mert AC es BD teljesen fuggetlen egymastol, ertelmezhetetlen a kisebb relacio.
Azert nem ertettem axioma ertetlenkedeset se korabban, mert ha sorba kell rendezni, akkor eloszor meg kell nezni, hogy nem fuggetlenek-e egymastol, mert akkor borul az egesz.
A peldad osszes megoldasa harom sorozattal irhato le:
1. ABCDEF, BCDF, BD (mindegyik egymasnak tokeletes resze)
2. ABCDEF, AC (a masodik az elsonek tokeletes resze)
3. ABCDEF, BCDF, AC (egymasnak tokeletes, illetve reszleges reszei)Ez a feladat, hogy hogyan lehet az osszes megoldast megtalalni.
-
axioma
veterán
Pedig a szotar az mar jo irany, csak kicsit tovabb kell kibontani, ha mar az inputod ilyen osszetett modon erkezik. Melyik szotarig jutottal? Volt olyan benne hogy
"name"? Mert akkor mar a"[23,4]"stringet le tudod tole kerni, leveszed az elso es utolso karaktert, es a maradekot split, szamma konvertalva (arr=map(int,dict["name"][1:-1].split(',')) megkapod a szamokat egy tombben. Ha barmelyik resze nem ismeros, guglizd ki vagy kerdezz vissza.
Ha nem ilyen a dict, akkor dump-old mar ki es mutasd meg. -
moseras
tag
válasz
kezdosql
#2285
üzenetére
Üdv,
Valami ilyenre gondoltál ?
import string
import random
def randString(size):
letters = 'ABCDEFGHIJKLMNOPQRSTUVWX'
rstring = ''
for c in letters:
if random.random() > 0.5: # random bool
rstring += c
if len(rstring) >= size:
break
return rstring
# eredeti
a = [randString(random.randint(1,22)) for _ in range(30)]
print(a)
print()
# hossz szerint rendezett
b = sorted(a, key=len, reverse=True)
print(b)
print()
# részhalmazok keresése a b[0]-ra
h0 = set(b[0])
rr = [b[0]]
for s in b[1:]:
htemp = set(s)
if htemp <= h0: # htemp.issubset(h0) ?
rr.append(s)
print(rr)Egy lehetséges eredmény:
['ABCDGHIKORST', 'ABDFGHIMNOPRS', 'ABEHLN', 'ABCDEFGHKMOPSTU', 'ABCEHK', 'ABCD', 'ACFJMRTV', 'ABCF', 'DE', 'BFJKLM', 'ABCEIKMQRSTUV', 'AGLMPS', 'BCDEHI', 'BEFGQRU', 'BCFHIJLMOSWX', 'ABCJM', 'DIJLRSTW', 'ABCDEGIJLTU', 'DIJKLMNQTVWX', 'AEGHJKLMRT', 'BCDE', 'ABEGIKMNOQTW', 'DEGHLNOTUVX', 'A', 'ABEL', 'ABCEHJOPS', 'BCEIJKMNOPQR', 'GKLMNOPRSUW', 'ABCD', 'ABCDFHLOSVX']
['ABCDEFGHKMOPSTU', 'ABDFGHIMNOPRS', 'ABCEIKMQRSTUV', 'ABCDGHIKORST', 'BCFHIJLMOSWX', 'DIJKLMNQTVWX', 'ABEGIKMNOQTW', 'BCEIJKMNOPQR', 'ABCDEGIJLTU', 'DEGHLNOTUVX', 'GKLMNOPRSUW', 'ABCDFHLOSVX', 'AEGHJKLMRT', 'ABCEHJOPS', 'ACFJMRTV', 'DIJLRSTW', 'BEFGQRU', 'ABEHLN', 'ABCEHK', 'BFJKLM', 'AGLMPS', 'BCDEHI', 'ABCJM', 'ABCD', 'ABCF', 'BCDE', 'ABEL', 'ABCD', 'DE', 'A']
['ABCDEFGHKMOPSTU', 'ABCEHK', 'ABCD', 'ABCF', 'BCDE', 'ABCD', 'DE', 'A'] -
m4rc!
őstag
Sziasztok! Most ismerkedem a pythonnal. Lenne egy feladatom, mely nem tűnik túl bonyolultnak, mégis 1 napja nem jutok túl rajta. XML-ből kellene számokat kinyerni (mondjuk listába) melyekkel később műveleteket végeznék. Igy néz ki az xml:
<adat>
<alelem>
<Szamok name="[23, 4]"/>
</alelem>
</adat>A legjobb amit sikerült elérnem, hogy szótárat adott vissza, de azzal meg nem tudtam mit kezdeni..
-
kovisoft
őstag
válasz
kovisoft
#2291
üzenetére
Lehet, hogy félreértem a feladatot, de ha esetleg arról van szó, amit ezelőtt írtam (elemszám szerint csökkenő sorrend, azon belül pedig lexikografikus), akkor csinálhatod azt, hogy a sorokat egy-egy stringben tárolod, ahol a string azokból a betűkből áll, amiknél 1-es van a táblázatodban (pl. a 13. sor 'APV', a 14. 'FM', stb). És az egészet beteszed egy string tömbbe, amit egy speciális kulccsal rendezel (ami a string hosszából és magából a stringből áll). Itt egy példa rövidebb és kevesebb stringgel:
>>> x=['ABCDEF', 'BD', 'BCDF', 'AC']
>>> x.sort(key=lambda s: (-len(s), s))
>>> x
['ABCDEF', 'BCDF', 'AC', 'BD' -
kezdosql
tag
OK, akkor csak a lenyeg:
1. "alap" linken ott a kep.
A 15 sor a 15 lista, elemeik A-W betuk valamelyike (ahol van 1-es, ott szerepel az elem.
(az X oszlopban megadtam a lista hosszat.)A feladat az, hogyan oldod meg, hogy a 15 lista nagysag szerint sorba legyen allitva.
Remelem, igy mar ertheto.

-
kovisoft
őstag
Én is elvesztettem a fonalat ott, hogy mi van fent-lent, ill. balra-jobbra:
"15 lista van (sorok)"
"bal oldalon mindig nagyobb elemszamu lista van, jobb oldalt egy kisebb"
"jobb oldali listanak is lehet olyan eleme, ami a bal oldaliban nem szerepel"
Meg hogy csoportosítani kell-e a listákat vagy rendezni vagy csoportosítani és azon belül rendezni? -
axioma
veterán
válasz
kezdosql
#2285
üzenetére
Az a baj, hogy a reszletes leiras megmutatta, hogy mit csinaltal te eddig, hogyan gondolkodtal, de az eredeti feladatot (amit a megrendelo, fonok, akarki adott) me'g mindig nem latom.
Ezen a fix halmazon egyszer kell megcsinalni? Mar reg keszen lenne kezzel.
Ilyesmi inputok varhatoak de valtozoak? Ha igen, mi a CEL, az output? Ha tobbfele, akkor mindegyik pontosan megfogalmazva (a cel az valamilyen sorrend, a fuggetlen maximalis halmazok, a tartalmazasok listaja, a "hasonlosagok" kiertekelese valami heurisztikaval, vagy mi?)
Ha ezt meg tudod mondani, pikk-pakk lenne megoldas is hozza. Igen, valoszinuleg a python erre pont jo lenne. De egy biztos: barmilyen programot csak akkor tudsz erdemben megirni, ha tudod, hogy kezzel, vegtelen ido alatt, milyen modszerrel csinalnad meg. Ahhoz meg kell tudni hogy mit. En ezt most nem tudom, ezert nem tudok (es a csendbol itelve masok sem) valaszt adni. -
kezdosql
tag
Koszonom az eddigieket, raszantam magam es begepeltem a listakat, praktikus okokbol szamot hasznalva, igy lathato, hogy 15 lista van (sorok) es egy lista max. 22 elemet (betuk) tartalmaz:
(A-W a 23 elem, ebbol az elso listaban van a legtobb, 22, csak a Q nem szerepel benne.
Az X oszlopban a listak elemszamai szerepelnek, mert aszerint kell majd rendezni oket)A masodik kepen a csoportositast is elvegeztem az elso, leghosszabb lista alapjan, es a legalso sorban az egyes elemeket is osszesitettem, hatha esetleg kesobb az is fontos szempont lesz, hogy melyik a leggyakoribb elem.
Jelen esetben 23 fele elem van, amibol legfeljebb 22 szerepel egy esetben es 15 listaban osszesen 118 elem van.Ez egy teszt feladat, hogy lassak, mennyire lehet a Pythont erre hasznalni, es a lehetseges osszes valtozatot meg kell csinalnom.
Erosen kezdo vagyok Pythonban es listakezelesrol nem talaltam ehhez hasonlo peldaprogramokat se a weben, igy ez erosen melyviz szamomra.A masodik kepen lathato, hogy az elso listanak a kovetkezo 8 valamilyen reszlistaja, mig a kovetkezo ot lista - 15-7 elemuek - eseteben egy elem (Q) szerepel, ami az elso, 22 elemuben nem szerepel, mig a legalso, egy elemu csak a Q-t tartalmazza, igy a 22 es 1 elemu listak egymastol fuggetlenek.
Ismetelten rakerdeztem a rendezesi szempontokra, azt a vlaszt kaptam, hogy mindharom valtozatot latni akarjak.
Az elso valtozat, ahogy a Python mukodik, csak balrol jobbra szamolassal, a masodik a szimmetrikus, es a harmadik a hierarchikus megoldas.
Az elsonel ertelemszeru, hogy a legnagyobb elemszamu halmaz lesz az elso, az kerul a bal oldalra, es egy masik a jobb oldalra, es a Python azt nezi, hogy mennyi olyan elem van, ami nincs a bal oldaliban. Ez alapjan fel lehet allitani egy sorrendet, bal oldalon mindig nagyobb elemszamu lista van, jobb oldalt egy kisebb, es az eredmenyeket egy listaban tarolva a lista rendezesevel megvan a sorrend.
Egy gond van, kozos elemet es bal oldalihozkepest jobb oldalinal kimarado elemeket lehet szamolni, illetve az elemszamok kozti kulonbseget.A masodik valtozatnal mar mindket lista szamit, ott mar felmerul, hogy a jobb oldali listanak is lehet olyan eleme, ami a bal oldaliban nem szerepel. Ennel is lehet egy listaba rakni az eredmenyeket, es az alapjan is van egy sorrend. Ekkor mar az elozohoz kepest azt is lehet latni, hany olyan elem van, ami barmelyik listaban nem szerepel, a kisebb elemszamunal is lehet olyan elem, ami a nagyobb listaban nincs.
A harmadik valtozatot ugy tippelem, csak reszlistakkal lehet megoldani.
A masodik kepen latszik, hogy a 15 listabol az elso, 22 elemunek tovabbi 8 lista lenyegeben valamilyen resze, mig van hat lista, amelyiknek van olyan eleme, ami nem szerepel a 22 elemuben.
Ezek kozul az utolso, az egy elemu az teljesen fuggetlen a 22-estol.
Tehat harom csoportom van, az elso 9, ahol a 22 elemunek a kovetkezo nyolc resze, majd a kovetkezo ot, amelyeknek vannak a 22 elemuvel kozos elemeik, de van olyan elemuk, ami a 22-esbol hianyzik, es a vegen - jelen esetben - az utolso, egy elemu, ami teljesen fuggetlen a 22-estol.
Majd jon a masodik csoport, amikor az ot lista, aminek olyan eleme is van, ami nem resze a 2-es listanak, stb.A gondom ott kezdodik, hogy a fenti logika alapjan az elso csoportban maradva, amint tovabblepek a masodik kepen a masodik, 9 elemu listara, az mar az 5 elemu listak kozul a kozepsotol teljesen fuggetlen, a felso 5-ossel ketto, az also otossel egy kozos eleme van, tehat a logika alapjan az 5 elemueknel a sorrend a felso, az also, es a vegen a kozepso lenne. Viszont, ha a sorrendnel az szamit, hogy hany kozos elem van, akkor kiderul, hogy a 9 elemu es a 4 elemu kozott is ket kozos elem van, es akkor mar ugy alakul a sorrend, hogy az 5 elemubol a felso, majd a 4 elemu, majd az also 5 elemu es utana a kozepso 5 elemu.
Valamint kesobb jon az ujabb dilemma, ha valoban az a fontos, hogy hany kozos elem van, akkor a vegen lehetnek meglepetesek, mert pl. most vettem eszre, hogy a 15 es 11 elemu listaknak tiz kozos elemuk (es 5+1 kimarado elemuk) van, igy az kerulhet az elso helyre a legvegso sorrendben, hiszen a 22 es 9 kozott csak 9 kozos es 13+0 kimarado elem van.
Ezert nem vagyok abban biztos, hogy a vegso sorrendnel az elemszamok szamitanak-e majd, vagy azok csak a Python balrol jobbra szamolasi logikaja miatt fontos.
Raadasul a harmadik megoldasnal a 15 listat azonnal 9 + 5 + 1 listara kell bontani, es akkor mar nem lesz minden lista minden listaval osszevetve.
Emiatt en arra hajlok, hogy a feladatnak az lenne a jo megoldasa, ha az osszes lista kozott elvegeznem az osszes osszehasonlitast megallapitva, hogy hany kozos es hany kimarado elemuk van, es azt is, hogy az egyik a masiknak resze-e, vagy mindekettonel vannak kimarado elemek, illetve egyetlen kozos elemuk sincs, es kesobb ezek alapjan lehet tobbfele szempontok szerint rendezni az eredmenylistakat.
A kerdes az, hogyan tudom ezeket az eredmenylistakat letrehozni es hogyan lehet a leggyorsabban megoldani, es utana hogyan tudom kezelni az eredmenylistakat, amik mar inkabb matrixok lesznek, nem listak.
Illetve, a legfobb kerdes az, hogy milyen egyeb megoldasi lehetosegek vannak, hogyan celszeru Python eseteben gondolkodni ilyen feladatnal.

-
sonar
addikt
Hi,
Egy kis eset tanulmányt osztanék meg. linux+spyder3 -mal kapcsolatban.
Nos eddig úgy gondoltam, hogy a spyder3 telepítésének a legjobb (és legegyszerűbb) módja a distró repójából szépen felrakom.apt-get install spyder3 spyder-common
Azt kell, hogy mondjam ez működik is és kapunk egy működő spyder3-at, de sajnos egy elég régi verziót.
Ha viszont szeretnénk egy friss verziót akkor először szedjük le a spyder-tapt-get remove spyder3 spyder-common
Majd pip segítségével tegyük felpip3 install spyder
vagy ha már fentvan és frissíteni szeretnénkpip3 install --upgrade spyder -
-
uno20001
csendes újonc
válasz
Siriusb
#2279
üzenetére
Ha megnézed a PEP343-t, akkor láthatod, hogy ha az
__enter__-ben történik kivétel, akkor az nem lesz elkapva awitháltal, tehát mindenképpen kell egy külső try-except-finally blokk awithköré, ha az inicializáláskor történő kivételeket el akarod kapni. Awithblokkon belül dobódó kivételeket pedig a blokkon belül érdemes lekezelni. -
Siriusb
veterán
Kicsit buta kérdés:
Ha a with statement-et használom, tegyük fel fájlba írásra, miként kezelhetem az exception-öket (pl. nincs írási jogom), hogyan log-olhatom a hibákat anélkül, hogy létrehoznék egy külön objektumot erre és definiálnám a metódusokat (__exit__ stb)? -
axioma
veterán
válasz
kezdosql
#2274
üzenetére
Nekem ezt mondd el, hogy miert?
"A sorbarendezest ugy kell vegezni, hogy a legnagyobb elemet tartalmazonal megkeresni, melyek a reszlistai, es azokat sorrendbe rendezni, majd megnezni, hany fuggetlen lista van, es azoknal is reszlistakat keresni."Azt nem ertem, hogy most az a feladat, hogy fuggetlen listakat kell keresni, vagy az, hogy egy sorbarendezest megvalositani? Mi a vegso cel? A sorbarendezes mar a te megoldasod resze?
Amugy ha definialod ezt a sorbarendezest, akkor abban lehet segiteni. Elso tipp, amit versenyeken szoktam: uj lista kepzese ugy, hogy annak minden eleme egy tuple, amiben az elso, masodik, ... elemek a szempontok fontossagi sorrendben, a vegere meg vagy betolod magat az elemet, vagy csak egy indexet. Ezt a listat rendezed, majd kiolvasod az elemeket (instantice vagy az indexnel fogva).
Esetedben ha mar betukbol allo stringjeid vannak
strings=[s1,...,s15], akkor kepezni kell atoSort=[(len(strings[i]),strings[i]) for i in xrange(15)]listat, meghivod ra a.sort()-ot es a hossz szerinti majd azon belul lexikografikus rendezest megkapod asortedStrings=[toSort[i][1] for i in xrange(15)]modszerrel. [A 15 most direkt hogy konnyebb legyen kovetni, de nyilvan nem magic number-ezunk.]Ja az elejen feltettem, hogy ha mar betukkel helyettesitettel, akkor a lista az egy karakterlista, amit nevezhetunk (hasznalhatunk) akar stringnek is... de egyebkent kb. hasonloan megoldhato ha a string helyett lista van, csak akkor mar nem tennem bele a tuple-be, hanem az indexszel visszakeresest hasznalnam (tehat a tuple elemei
(len(listOfLists[i]), i), mig a kiolvasasnal a futo elemlistOfLists[toSort[i][1]]).Amugy valoszinuleg, hacsak nem nagyon titkos a sztori, az eredeti problema lenne a legkonnyebben megvalaszolhato. A fuggetlen halmazok meg az altalad emlitett kapcsolatok mar a grafelmelet iranyaba visznek el (ami neked nem feltetlen baj, mert kesz algok vannak csak megfelelo formara kell alakitani es meghivni).
-
kezdosql
tag
válasz
sztanozs
#2273
üzenetére
Szoveges listak, odaig jutottam, hogy lemasoltam oket, a szovegeket A-W betukkel helyettesitettem, mert csak 24 fele elem van a 15 listaban.
Raadasul minden listaban csak egyszer szerepelnek az elemek, es abc szerint sorbarendeztem oket.Ugy tunik, a listak egy resze egymasnak reszei, de vannak kulonbsegek, es legalabb ot teljesen fuggetlen van.
A sorbarendezest ugy kell vegezni, hogy a legnagyobb elemet tartalmazonal megkeresni, melyek a reszlistai, es azokat sorrendbe rendezni, majd megnezni, hany fuggetlen lista van, es azoknal is reszlistakat keresni.
Azt nem tudom, hogy ciklusban ez megoldhato, vagy inkabb kapcsolatok szerinti munkalistakat kellene letrehozni, es ott tarolni, hogy hol tart a feldolgozas.
Ket napja bujom a webet, de ilyen mintaprogramot eddig nem talaltam, csak olyanokat, amik listakon beluli elemeket keresgelnek es/vagy modositanak.
Itt valahogy a komplett listakat kellene kezelni, ahol lehet, hierarchikusan.Azon vacilalok, talan jo lenne tablazatban az egeszet megjeleniteni es akkor ranezesre lathatom, melyek a legnagyobb elemszamu, egymastol fuggetlen listak, es akkor mar van egy tampontom, hogy minimum hanyfele csoportositas lesz.
-
kezdosql
tag
válasz
sztanozs
#2271
üzenetére
Koszonom a segitseged.
15 listat kell sorbarendeznem, 2-21 elemuek, eddig nem talaltam ra megoldast, csak elemekre vannak peldak.
Jo lenne valahogy tablazatba, vagy matrixba rendezni a vegeredmenyt, mert biztos, hogy tobbfele megoldas lesz.Tegnap megint valami gebasz volt, allandoan azt az uzenetet kaptam, hogy a hozzaszolasom nem jelenitheto meg, utolag lattam, hogy harom kozuluk megis megjelent.
Raadasul a janos46-nak privat uzenetet akartam kuldeni, az is hozzaszolaskent jelent meg.
Szerencsere tudtam torolni a szoveget. -
kezdosql
tag
Komplett listak osszehasonlitasara, sorrendbe rendezesere keresek peldaprogramokat, minden linket koszonettel fogadok.

-
kezdosql
tag
Pythonban kell listakkal bonyolult osszehasonlitasokat vegeztetni, es azok alapjan listakat sorbarendeztetni.
Eddig csak olyan okitokat talaltam, ahol elemeket tettek listakba es azokban keresgeltek es kirtak, hogy van-e talalat.
ha valaki tud tlejes listak oszehasonlitasara peldaprogramokat ajanlani, elore is koszonom.

-
Janos46
tag
Sziasztok!
Segítsetek, a Pmw modul hiányzik, hogyan kell felrakni?
Előre is köszi a választ.Továbbá ajánlom az alábbi oldalt, ahol is közel 100 Python-nal foglalkozó pdf és egyéb fájlt (leírások példákkal) található. Egy könyvtárat feljebb lépve pedig sok egyéb programozással kapcsolatos érdekesség található.
Üdv. Jánosftp://ftp.borg.moe/yarr/Gentoomen%20Library/Programming/Python/
-
axioma
veterán
Hetvegen volt google codejam, ami csak annyibol tartozik ide, hogy ok adjak a futtato kornyezetet, nem en, nem tudok belenezni.
A jelenseg az volt, hogy ugyanazt a kodot lefuttatva python2-ben es pypy2-ben, mindketto sikeresen befejezte a futast, de mas eredmenyt adott. Sima algoritmikus feladat, list meg set volt benne kb. Valami otlet, hogy mi okozhatja a kulonbseget?
Feladat: [link] , a teszt a benne levo feladat es az elso valasz (3 vs. UNBOUNDED), a kod: [link]szerk. a megoldasban mas hiba is lehet, most az a kerdes, hogy mitol tud az az elagazas kulonbozo valaszra jutni.
-
-
Siriusb
veterán
Nem bírtam ki, hogy ne próbáljam meg. Külön fájlokba log:
-
Nagyon koszonom mindenkinek a segitseget!
-
Siriusb
veterán
Esetleg ha egy fájlba mégis jó a log, de megkülönböztetve a sorokat:
import logging
import inspect
import datetime
logging.basicConfig(filename='mylog.log', level=logging.INFO) # app szinten
def connectionCheck():
functionName = inspect.stack()[0][3]
mylog = logging.getLogger(functionName)
mylog.info(str(datetime.datetime.now()) + " " + 'CONNCHECK')def dropper():
functionName = inspect.stack()[0][3]
mylog = logging.getLogger(functionName)
mylog.info(str(datetime.datetime.now()) + " " + 'DROPPER')connectionCheck()
dropper()Kimenet:
INFO:connectionCheck:2019-05-17 13:38:19.796739 CONNCHECK
INFO:dropper:2019-05-17 13:38:19.797580 DROPPERSzerk.:
Ha külön fájlok kellenek, akkor a handler-ekhez adsz egy -egy filtert, ami például a leendő rekordokban kimazsolázza az aktuális modul nevét. -
-
-
-
válasz
Siriusb
#2219
üzenetére
Megneztem, sima import logging. Elmeletileg mindegyiknek mas neve van, de meg igenyel debugolast.
Itt a kod, ami erdekes lehet:
conncheck.py:
import logging
import inspect
def connectionCheck():
functionName = inspect.stack()[0][3]
conncheckLog = functionName + ".log"
logging.basicConfig(filename = conncheckLog, level = logging.INFO)
logging.info(str(datetime.dattime.now()) + " " + connectionSuccess)
drop.py:
import logging
import inspect
def dropper()
functionName = inspect.stack()[0][3]
dropperLog = functionName + ".log"
logging.basicConfig(filename = dropperLog, level = logging.INFO)
logging.info(str(datetime.dattime.now()) + " " + dropSuccess)Es ehhez teljesen hasonlo modon van definialva a seederben is a logolas. Disclaimer: a fenti kodot kezzel masoltam, nem copypaste, szal lehet benne typo, de maga a kod mukodik.
-
alec.cs
tag
Python 2.7:
Van egy string, ami utf-8 lenne, csak egy kis baj van vele:text = "Haj\\xc3\\xb3k"Elméletileg a szöveg ez lenne (ezt szeretném kiíratni): Hajók
Ha ezt csinálom, akkor nem változik semmi:
text = text.replace("\\\\","\\")Hogy tudom azt megtenni, hogy a \\ jelet lecserélem \ jelre?
-
Siriusb
veterán
válasz
Siriusb
#2245
üzenetére
Persze az elküldés után 2 perccel rájöttem az okra, mint az általában lenni szokott.
Beraktam egy custom context-et egyedi névvel.Kösz a segítséget!

Szerk.:
Továbbgondolva ez mégsem lehet ok, vagy még jobban bele kell bújnom context kontextusába.
Egyszóval még mindig várok a megváltó magyarázataitokat! -
Siriusb
veterán
Django-ban tudna segíteni valaki?
A probléma DetailView-nál jön, ugyanis a template-ben nem érem el az object-et. Hiába hivatkozok pl. a model egy attribútumára pl. {{ object.slug }}, nem ad vissza semmit.
A view kissé kacifántos, mert minden oldalnak külön template-je van, nem adatbázisból szedem a szövegtörzset. Lehet itt kavarok el valamit, nem tudok rájönni.
class WebpageDetailView(DetailView):
def get(self, request, slug):
webpage = get_object_or_404(WebPage, slug=slug)
template_name = f'basic_app/szoveg/{webpage.slug}.html'
return render(request, template_name)
model = WebPageSzóval a kérdés, miért használhatatlan az object a template-ben?
Szerk.:
Kiszedte a programkódot -
axioma
veterán
válasz
sztanozs
#2242
üzenetére
En 73-askent me'g (bar ebben a kornyezetben inkabb mar) iskolas voltam, es a legnagyobb valtozas akkortajt az remlik hogy Atilla is helyes az Attila mellett es hasonloak... Szoval akkor egyszeruen szar vagy a memoriam vagy a nyelverzekem vagy mindketto, de nyilvan tok mind1 is, a hivatalos modon kell sorbarendezni.
-
Próbálok majd keresni egy '84 előtti helyesírási szótárat (van rá némi esély, nagynéném nyugdíjas magyartanár), de azóta - az elmúlt 35 éveben - biztos így van.
MEK OSZK - magyar angol szótár 1997
MEK OSZK - Egzotikus gyümölcsök magyar neveinek történeti-etimológiai szótára (53. oldal, szószedet)
MEK OSZK - A régi Budapest a fattyúnyelvben (szószedet) -
axioma
veterán
válasz
sztanozs
#2236
üzenetére
Lehet, hogy ez a szabalyos, de elegge meglepodnek ha egy szotarban az A es Á betuvel kezdodo szavak ossze lennenek omlesztve. Pontosabban nyilvan tudok benne keresni de magyartalannak tartom.
Azt konkretan me'g egyetemista koromban mondta egy nyelvesz, hogy nem csak a rejtvenyekben, hanem nyelveszetileg is az A,E hosszu parja az nem sima hosszu par, hanem kulon hang, mig a tobbi meg azonos hang hosszabban kitartva, ezert megkulonboztetik a ketfele elterest.
Erdekes tema, kar hogy itt off... [majdnem mentem nyelveszet kurzusokra is a chomsky-nyelvtanok algoritmus-elmeleti megismeresekor lelkesedesbol] -
válasz
Siriusb
#2237
üzenetére
Ez már "ezer éve" így van... Az előzőben is így volt - sajna az MTA oldalán nincs fent régebbi; bár mondjuk ez sem fiatal:
„A Nagy magyar helyesírási szótár elveiben és gyakorlatában a Magyar Tudományos Akadémia helyesírási szabályzatának érvényben lévõ 1984. évi (11.) kiadásához, illetve a Magyar helyesírási szótárhoz (Akadémiai Kiadó, 1999.) igazodik.” -
válasz
Mr Dini
#2231
üzenetére
A helyes sorrend az Ádám Attila: [link]
c) A magánhangzók rövid-hosszú párjait jelölő betűk (a – á, e – é, i – í, o – ó, ö – ő, u – ú, ü – ű) betűrendbe soroláskor a kialakult szokás szerint mind a szavak elején, mind pedig a szavak belsejében azonos értékűnek számítanak. A hosszú magánhangzót tartalmazó szó tehát meg is előzheti a megfelelő rövid magánhangzót tartalmazót, például:ír
Irak
iramA rövid magánhangzós szó kerül viszont előbbre olyankor, ha a két szó betűsora csak a megfelelő magánhangzók hosszúságában különbözik, például:
Eger
egér
egyfelé
egyféle
elöl (hol?)
elől (honnan?) -
moseras
tag
válasz
Mr Dini
#2231
üzenetére
Üdv,
Nem sajnos, a környezeti változókat nem szeretném felülírni. Más miatt jobb az, amit a Docker alapból beállít.
Nem tudom, hogy megoldható e, de az nem lenne jó, hogy:
- lemented a régi környezeti változókat
- beállítod a kívánt értékre őket
- rendezés
- környezeti változók visszaállításaHa egyszálú a progi, akkor működhet, nem ?
Imi.
-
axioma
veterán
válasz
Mr Dini
#2231
üzenetére
Szerintem neked mas a problemad: a rovid-hosszu alak altalaban egyforma legyen (ló elobb van mint a lovas), ellenben az a-á, e-é nem egyforma, mert bar latvanyilag csak egy hosszu valtozat, a valosagban mar egy kulonbozo hang. Legalabbis a magyar rendezes szerint.
Tehat a rendezeshez egyreszt le kell venni (rovidre) azokat az ekezeteket amiket nem kulonboztetsz meg (de pl. a dupla ekezet marad, ökör es őr kesobb van mint az ózon!), es utana besorolni az á-t es é-t a megfelelo helyere.
Azt nem tudom hogy ezt meg tudod-e csinalni kesz utillal. En ha kulon fuggvenyt irnek, egyszeruen csinalnek egy map-et, ahol á=a+1 erteket kap, de ő=ö erteket. -
kovisoft
őstag
válasz
Mr Dini
#2231
üzenetére
Esetleg készíthetsz egy saját abc-t, és aszerint rendezed a neveket. Pl.:
> abc='aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz'
> names=['Ádám', 'Attila', 'Éliás', 'Ezékiel']
> sorted(names, key=lambda word: [abc.index(c) for c in word.lower()])
['Attila', 'Ádám', 'Ezékiel', 'Éliás'Persze ez hibát ad, ha olyan karakter van egy szóban, ami nincs az abc-dben.
-
Mr Dini
addikt
válasz
Siriusb
#2230
üzenetére
Nem sajnos, a környezeti változókat nem szeretném felülírni. Más miatt jobb az, amit a Docker alapból beállít.
A normalize jól néz ki, viszont van egy buktatója a dolognak, amire gondolni tudok:
>>> sorted(["Attila", "Adam"])
['Adam', 'Attila']A helyes sorrend Attila, Ádám lenne, hiszen az "á" később van. Az viszont egy okos meglátás, hogy ezen az úton eljárhatok, mondjuk egy dictionary-t felépítve, ahol minden nem angol ábécés karaktert, amire szükségem van felmappelek egy "x" hozzáadásával és az
"Ádám".maketrans(my_map_dict)függvényt hívom segítségül. Remélve, hogy senki nevében nincs x. Tehát az Ádámból csinálok egy "Axdaxm"-ot. Vagy ha more failsafe megoldás kell, valami horribilis spec karakter sorozattal, mint a !! - !! fogok próbálkozni. Ez még csak ötlet, még nem tudom hol a bottleneckje a dolognak, de ideának működőképes. Csak fura, hogy nem találok stdlib megoldást a problémámra (elegáns módon). Még egy külső dependency-t meg ha lehet, mellőznék. Már így is több perc, mire a docker container feláll...
az így kapott sorrendet visszavezesd az eredeti, ékezetes betűs listába
Erre van egy trükköm. A sorted fv rendelkezik egy "key" kwarg-al, ami fogad egy függvény referenciát. Ezt a függvényt hívogatja iteráláskor, ami megkapja az aktuális lista elemet és feladata, hogy visszaadja az elemet, ami alapján rendeznék. Ha ezen belül alakítok, akkor tudok rendezni mindenféle segéd lista nélkül. Nem szép ez se, de legalább nem lassú és teszi a dolgát.
Köszönöm a segítséget!

-
Siriusb
veterán
válasz
Mr Dini
#2229
üzenetére
Az nem jó, hogy egyszer, az elején beállítod az LC_COLLATE-t oszt csókolom? Mindig más- és többfajta rendezési sorrend kell?
Amit találtam, esetleg a unicodedata.normalize() jöhet még szóba.
Itt egy illusztráció is: stackoverflow
Így vagy ékezetek nélkül játszol, vagy módot találsz arra, hogy az így kapott sorrendet visszavezesd az eredeti, ékezetes betűs listába.Szerk.: Nézd csak, mit találtam: pyuca: Python Unicode Collation Algorithm implementation
-
Mr Dini
addikt
Adott egy listám telis tele magyar nevekkel (amiket egy formból nyerek ki). Van köztük ékezetes is. Hogy rendezem ABC sorrendbe őket úgy, hogy az "á," "é" stb ékezetes karakterek nem a lista végére kerülnek és lehetőleg a locale-t nem piszkálom. Vagy ha igen, kellene egy univerzális megoldás, ahol nem kell bemagolni a terület kódját.
Python 3.7
Köszönöm!
-
Nono0000
tag
válasz
cousin333
#2227
üzenetére
Sziasztok!
Köszönöm a segítségeteket, de teljesen más volt a probléma. Hihetetlen, hogy így jártam. Amelyik könyvtárból futtatom a kódot, ott létrehoztam egy email.py fájt, mert próbáltam emailt küldeni magamnak, ha a kód hibára fut. Ez a szerencsecsomag meg beolvasta és dobta rá a kivételeket. Ahogy átneveztem a fájlt, megszűnt a probléma.

-
cousin333
addikt
-
Nono0000
tag
válasz
Siriusb
#2225
üzenetére
Igen jó úton járunk ezt adta:
~ $ pip check
requests 2.21.0 has requirement urllib3<1.25,>=1.21.1, but you have urllib3 1.25.2.
Egyébként a Raspbian fut a pi-n, ráadásul friss telepítés, tulajdonképpen kopasz.Na akkor hogyan lehet visszafelé frissíteni?
Egyébként köszönöm!
-
Siriusb
veterán
válasz
Nono0000
#2224
üzenetére
Elöljáróban annyit, hogy fogalmam sincs, hogy működik ez a szerkentyű.
A hibaüzenet egyértelműen leírja, hogy az adott verziójú requests modul 2 függőségének verziója nem passzol a requests által elvárttal.
Terminálból apip checkparanccsal tudod ellenőrizni, hogy a függőségek kompatibilisak-e.
Elvileg apip install --upgrade csomag_neveparanccsal tudsz frissíteni.Mondjuk nem igazán értem, hogy alakulhatott ki ez a helyzet, ha valamelyik csomagot frissítetted, akkor figyelmeztetnie kellett volna, hogy függőségi probléma lesz, de mint említettem, a Pi-ről annyit tudok, hogy 3,14.
-
Nono0000
tag
Sziasztok!
Segítséget kérnék, egy Raspberry Pi 3B+ -on szeretnék futtatni egy kis kódot, és az alábbi hibaüzenetet kapom az import request parancsra:
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "copyright", "credits" or "license()" for more information.
>>> import requests
Warning (from warnings module):
File "/home/pi/.local/lib/python3.5/site-packages/requests/__init__.py", line 91
RequestsDependencyWarning)
RequestsDependencyWarning: urllib3 (1.25.2) or chardet (3.0.4) doesn't match a supported version!Kérlek benneteket, segítsetek a probléma megoldásában.
Köszönöm! -
-
-
-
-
A kovetkezo problema megoldasara van otletetek?
Irtam egy sajat modult, ami ellenorzi egy adatbazis-kapcsolat kiepitesenek a lehetoseget; ezt meghivja egy dropper, ami szinten sajat modul; a droppert meg egy sajat program hivja meg, ami feltolti az adatbazist random adatokkal.
Vizualisan: seeder -> dropper -> checker.
A gondom az, hogy a logging modult hasznalva a dropper is, meg a seeder is a checker logjaba irja az uzeneteit, holott azoknak definialtam sajat logot.
-
V.Stryker
nagyúr
Tudtok ajánlani valamilyen oldalt vagy könyvet, ami tele van python feladatokkal, ahol alapdolgokat is jól be lehet gyakorolni? Nem baj ha magyar.

Már a függvényeknél tartok, értem is, de mégis sokszor vissza kell mennem az alapokhoz. Akár a ciklusokhoz, listákhoz, ami azt jelenti, hogy az alapok nagyon nincsenek jól begyakorolva.

-
kovisoft
őstag
válasz
V.Stryker
#2206
üzenetére
Alapesetben egy adott elemeket tartalmazó listát létre tudunk hozni úgy, hogy szögletes zárójelek között felsoroljuk az elemeket (pl. [1,3,5,7]). De ezt nem mindig tudjuk vagy akarjuk megtenni. Sokszor adódik olyan helyzet, hogy a listát egy másik listából szeretnénk valamilyen szabály alkalmazásával legyártani. Ilyenkor írnunk kell egy ciklust, ami végigmegy az eredeti listán, és annak minden elemét (amely egy adott feltételt teljesít) behelyettesíti egy kifejezésbe, és az így kapott elemekből jön létre az új lista.
Például kiindulhatunk egy range(n)-ből, és a négyzetszámok listáját előállíthatjuk úgy, hogy mindegyik elemet négyzetre emeljük. Vagy a prímszámok listáját előállíthatjuk úgy, hogy kihagyjuk azokat, amelyeknek van valódi osztója, stb.
A List Comprehension azt teszi lehetővé, hogy a fenti ciklust behelyezzük a szögletes zárójelek közé, mindezt egy nagyon tömör és világos formában. Tehát ahelyett, hogy egyenként felsorolnánk az elemeket, megadjuk azt a szabályt amiből és amivel fel kell tölteni a létrehozandó listát. Ez a szabály áll egy kifejezésből: ezt kell alkalmazni minden szóbajöhető elemre, áll egy for ciklusból valamilyen ciklusváltozóval, ami végigmegy egy listán, és opcionálisan egy if feltételből, amivel szűrni lehet az elemek között:
[expression(i) for i in iterable if condition]ami azt jelenti, hogy menj végig az iterable objektum elemein az i ciklusváltozóval, és ha teljesül az adott i-re a condition feltétel, akkor helyettesítsd be az i-t az expression kifejezésbe, így hozz létre egy új listát.
Példa: 1-re végződő négyzetszámok:
[i*i for i in range(100) if (i*i)%10 == 1] -
V.Stryker
nagyúr
Valaki esetleg össze tudná foglalni, hogy mit jelent a List Comprehensions?
-
alec.cs
tag
válasz
0xmilan
#2204
üzenetére
@milangfx
Köszi a válaszod!
Tehát:
- user oldalon python program letölt egy weboldalt feldolgozza azt (megjelenít belőle tartalmakat), s közben egy a szerveren lévő fájlba írna valamit. Például: lenne a szerveren egy szamlalo fájl és abba egy értéket növelne (lattak = lattak + 1).
A user python program a letöltés alkalmával ezt a lattak értéket jelenítené meg.
Remélem így érthető, hogy mit is szeretnék. Azt szeretném első körben, hogy a user oldalon láthassák, hogy az adott tartalmat hányszor töltötték le, illetve hányszor látták.
Az a külső modulos is érdekelhet végül is, ha más megoldás nem lenne...
Lennének azért ötleteim, de egyenlőre várnám a válaszokat.
Előre is köszönöm.
-
alec.cs
tag
Sziasztok!
Nem biztos, hogy ide szóló kérdés, de mivel érintett a python, ezért megkérdezem.
Elnézést érte, s nem lovagolni rajta...
Tehát:
Lenne egy python alkalmazás a user gépen (gépeken), mely egy webszerverről egy adott oldalt (fájlt) tölt le és dolgoz fel.
Lenne 2 kérdésem (ami majdnem ugyanarról szól):
1.) Hogy tudom azt vizsgálni, hogy az adott oldalt (fájlt) hányszor töltötték le a user gépeken futó python programok? Ezt központilag szeretném tudni, s nem a user gépeken. Tehát 3 user gép 8x töltötte le, akkor az 24 letöltés.
2.) Esetleg van arra lehetőség, hogy a user oldali python programból a webszerver egy adott fájljába vissza írjak? Így is tudnám vizsgálni az előbbi felvetést... Ez megoldható valahogy?
Nem tudom, hogy egyáltalán lehetséges-e ez? Én nem tudok ilyen módszerről, de lehet, hogy van?
Az adatbázis kezelés most nem jöhet szóba!!!
Csak valamiféle fájlos írási megoldás, vagy szerver oldali egyéb megoldási vizsgálat...
Nem akarok, illetve nem lehetséges különféle kiegészítő modulok telepítése, betöltése.Remélem, hogy érthető és világos ahogy leírtam amit szeretnék megoldani.
Ha esetleg nem lehetne megoldani ezt (python írás weboldali fájlba), akkor hol tudnék ennek utána nézni, vagy utána kérdezni.Ha valaki tud rá valamilyen megoldást, akkor azt megköszönném...
Ja, és a python 2.7 változatról lenne szó...
-
Siriusb
veterán
Nem bírtam ki, elkezdtem ismerkedni a django-val is, meg kell mondjam, így a felszínt karcolgatva nagyon tetszik. Sosem használtam még semmilyen keretrendszert, hacsak nagyvonalúan nem sorolom ide a Drupal-t (bizonyos szemszögből értve). Kedvet is kaptam, hogy tanulásképpen egy vagy két weboldalt átültessek django alapokra. A php-t nem szeretem és egészen feldob, hogy pythonban le lehetne kódolni mindent.
Ezzel kapcsolatban kérdezném akinek van rálátása, hogy biztonság szempontjából a drupal és a django (alapértelmezett konfigurációja) mekkora a különbség? Mennyivel jobb esetleg a django pl. feltörhetőség szempontjából?
Új hozzászólás Aktív témák
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- GYÖNYÖRŰ iPhone 12 mini 256GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS3626, 100% Akkumulátor
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest







Vagy el vagyok fáradva most agyilag....

