- Yettel topik
- Nothing Phone (2) - több, mint elsőre látszik
- Megjelent a Poco F7, eurós ára is van már
- One mobilszolgáltatások
- Poco F5 - pokolian jó ajánlat
- Betiltották a Pixel 7-et Japánban
- Vivo X200 Pro - a kétszázát!
- Rekord vékony lesz a Z Flip7 is
- Apróbb óra érkezik a OnePlustól
- Red Magic 10 Air - gaming telefon is lehet kecses
Ú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 == True
Ez így értékelődik ki:
(a < (b + c)) and ((b + c) == True)
Ebből a második tag
False
lesz, 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+b
egy számot ad eredményül, ami nem azonos aTrue
-val. De ac< a+b
eredménye már egy boolean, ami lehetTrue
meg 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 - awith
nem 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 nincsenA 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 beleszolnom
Szerk. 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
Hirdetés
- XPEnology
- E-roller topik
- Milyen autót vegyek?
- Synology NAS
- Egyéni arckép 1. lépés: ARCKÉPHEZ VALÓ JOGOSULTSÁG
- Yettel topik
- Kormányok / autós szimulátorok topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nothing Phone (2) - több, mint elsőre látszik
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- MSI Claw A1M 036 Konzol
- AKCIÓ!!! GAMER PC: Új i5-14400F +Új RTX 3080 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- HP Prodesk 600 G3 mini PC i5 7500T / WIFI / 8GB DDR4 / 256GB SSD / Type-C / 3x DP
- Dell Precision 7520, 15,6" FHD, I7-7820HQ, 16GB DDR4, 256GB SSD, M1200 4GB VGA, WIN 11
- Dell Precision 3551, 15,6" FHD, I7-10750H, 32GB DDR4, 512GB SSD, P620 4GB VGA, WIN 11, ÚJ
- Új! HP 230 Vezetéknélküli USB-s Billentyűzet
- Felújított számítógépek/merevlemezek Számlával, garanciával! Ingyen Foxpost!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Konzol felvásárlás!! Nintendo Switch
- ÁRGARANCIA!Épített KomPhone i3 10105F 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest