Hirdetés

2024. április 24., szerda

Gyorskeresés

Hozzászólások

(#701) Karma válasza sonar (#700) üzenetére


Karma
félisten

Természetesen lehet, sőt. A Git esetében (tényleg verziókövető :) ) a helyi repód önmagában teljes értékű, a szerverre feltöltés "csak" egy hasznos extra.

Ha esetleg GitHub felé mész, ott a release-eidet is szépen tudod rendezni és listázni.

“All nothings are not equal.”

(#702) cousin333 válasza sonar (#697) üzenetére


cousin333
addikt

Én Mercurial-t használok. Folyamatosan fejlesztik, gyors, stabil megbízható és könnyen megtanulható. Van hozzá rendes GUI és Windows támogatás. Ez is elosztott rendszer, a BitBucket kínál hozzá is online repókat, de azt nem használom. A git-et nem ismerem, de kétlem, hogy egyszerűbben használható lenne.

Dokumentálni általában ott a Doxygen, bár Pythonhoz elvileg a Sphinx dukálna, de azt még sosem használtam.

Python tippeket meg a Youtube-on is találsz, van jónéhány PyCon rendezvény, amiben egy-egy modult mutatnak be. A részletekért meg úgyis a dokumentációt kell bújni.

[ Szerkesztve ]

"We spared no expense"

(#703) sonar válasza cousin333 (#702) üzenetére


sonar
addikt

A python tippeket azért kérdem, mert nem elég széles az eszköztáram. És néha rábukkanok egy érdekes modulra aztán meg csak kamillázok, hogy mennyivel könnyebb is lehetne az életem.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#704) cousin333 válasza sonar (#703) üzenetére


cousin333
addikt

Én pont fordítva szoktam. Ha szembesülök egy problémával, eszembe jut, hogy hátha van rá beépített vagy 3rd party modul. És általában van is. :)

Ez mondjuk nem rossz gondolat: ide (vagy akár az 1. hsz-be) ki lehetne posztolni érdekes cikkeket, videókat honlapokat, ahol hasznos tudással lehet bővíteni az ismereteinket. Tehát nem kell minden Python cikk, csak ami tényleg jó és tartalmas. Ugyanezt kiegészíthetnénk modul-ajánlóval is.

"We spared no expense"

(#705) tvamos válasza sonar (#697) üzenetére


tvamos
nagyúr

SVN is jo. (Az talán nem ingyen jó...)

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#706) Vasinger!


Vasinger!
nagyúr

Sziasztok!

Azt meg lehet valahogy oldani PyCharm-nál, hogy ha egy Windowsról SSH-zok be Linux szerverre és ott kéne fejlesztenem Pythonban, az ott található könyvtárakkal stb. azt PyCharmba tegyem Windowsról? Van erre valamilyen lehetőség? Vagy marad a felmásolgatás és debugolás kizárva?

(#707) EQMontoya válasza Vasinger! (#706) üzenetére


EQMontoya
veterán

Linuxon oszd meg valamivel a particiót és mountold fel win alól.

Same rules apply!

(#708) D.R.O.


D.R.O.
tag

Szevasztok!

Nemrég találtam egy összefoglaló oldalt(?) pythonhoz:
[The Hitchhiker’s Guide to Python]

Le is tölthető pdf-ben ha valaki úgy szereti.

Nekem sokat segített, szóval gondoltam bedobom.

[ Szerkesztve ]

A Marsról jöttem, de már kúr*ára visszamennék!

(#709) justmemory


justmemory
senior tag

Sziasztok!

Gtk kapcsán szeretnék segítséget kérni, mert nem találtam ezidáig választ. A fô kérdés az, hogy ha gtk.RELIEF_NONE van beállítva a gtk.Button-nak, akkor hogyan lehet a színét módosítani?

Bôvebben:

button = gtk.Button()
colormap = button.get_colormap()
color = colormap.alloc_color('#3d0c02')
style = button.get_style().copy()
style.bg[gtk.STATE_NORMAL] = color
button.set_style(style)
button.set_relief(gtk.RELIEF_NONE)

Ha a button.set_relief be van állítva, akkor nem lesz színes a gomb, ha nincs beállítva, akkor színes lesz a gomb. Amit el szeretnék érni: button.set_relief beállításával is színes a gomb (ha lehet ilyet...).

Köszönöm elôre is.

jm

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#710) Mr Dini


Mr Dini
addikt
LOGOUT blog

Üdv!

Próbálkozom egy s4la-s python (3.4) szkriptet összedobni. Eddig minden ment, viszont szégyenszemre pont az ifet nem sikerül rendesen beállítanom... :B

if next and url is None:
droid.makeToast('Exit...')
if url is not None:
name = droid.dialogCreateInput('Link neve','Mi legyen a megjelenő név): ')
droid.dialogShow()

Tehát ha van next változó és az url változó nem kap értéket, akkor kill, ha pedig kap az url értéket, akkor menjen tovább a dialógussal. A gond az, hogy bármit teszek, feljön a dialógus...

Mi lehet a gond?

Köszi! :R

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#711) Imy


Imy
veterán

Kellene írnom egy programot, ami ezt írja ki:
*
**
***
****
*****
******
*******

Én így csináltam. De hogyan lehetne ezt szebben megvalósítani?
a="*"
b=0
while b<7:
b=b+1
if b==1:
print a
elif b==2:
print a,a
elif b==3:
print a,a,a
elif b==4:
print a,a,a,a
elif b==5:
print a,a,a,a,a
elif b==6:
print a,a,a,a,a,a
else:
print a,a,a,a,a,a,a

(#712) cousin333 válasza Imy (#711) üzenetére


cousin333
addikt

Szebben? Először is úgy, hogy használd a Programkód kapcsolót a hozzászólás szerkesztésénél... :)

Egyébként pedig azt kell tudni, hogy egy sztring szorzása a sztring ismétlését jelenti:

for i in range(1,8):
print("*" * i)

Ha a fentit nem tudod, akkor még mindig jobban jársz egy dupla for ciklussal:

for i in range(1,8):
for j in range(i):
print("*", end="")
print("", end="\n")

Természetesen az első módszer a preferált.

[ Szerkesztve ]

"We spared no expense"

(#713) EQMontoya válasza Mr Dini (#710) üzenetére


EQMontoya
veterán

Miért nem debuggolod ki, hogy mi az, ha nem none? :)
Nem tűnik olyan nehéznek bedobni egy reflectiont.

Same rules apply!

(#714) Imy válasza cousin333 (#712) üzenetére


Imy
veterán

Köszi! :R

FOR ciklus még nem volt a könyvben, így nem is gondoltam arra. "Tanuljunk meg programozni Python nyelven" a könyv címe, és még a 42. oldalon tartok.

(#715) sonar válasza Imy (#714) üzenetére


sonar
addikt

Megoldás while-lal:
x=0
b='*'
while x<8:
print b
x = x+1
b = b + '*'

Ugyanaz csak kicsit tömörebben
x=0
while x<8:
b +='*'
print b
x +=1

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#716) bundli


bundli
tag

Sziasztok!

Kis segítséget kérnék az alábbi kódrészlet megértéséhez. A változók elnevezéseit én írtam át aszerint, ahogy jelenleg értelmezem a szerepüket. Van a sample_map adatstruktúra(JSON?!), amely tartalmaz kulcsokat és azon belül is tartalmaz még kulcs-érték párokat. Ezután egy For ciklussal iterálnék rajta végig, de nem teljesen értem, hogy miért így kell, illetve, hogyan lehetne ezt másképp, "inernal_key1" nélkül megcsinálni.

Előre is köszönök minden segítséget!

sample_map = {'key1': {'inernal_key1': ['value1']},
'key2': {'internal_key2': ['value2']},
}

for key in self.sample_map.keys():
for value in self.sample_map[key]["inernal_key1"]:
#do something with 'value' variable

[ Szerkesztve ]

(#717) sonar


sonar
addikt

Asszem megőrülők
Már szét barmoltam totálisan ezt a funkciót, ennél több debug lépést nem tudnék belerakni, de egyszerüen kilép a rutinból úgy, hogy nem hajtja végre az exception ágat.
ezután a lépés után ugrik vissza a főágba
strTMP2=strTMP.replace('\x08','')
jah és 10-ből 1-szer jól lefut

def tnREADMORE(tn,read,write,read2):
try:
timeout = 3
print tn.read_until(read,timeout)
except Exception,e:
print str(e)
raw_input('error1')
try:
write = write + '\n'
print write
tn.write(write)
time.sleep(2)

timeout = 3
print '---------'
strTMP = tn.read_until(read2,timeout)
print 'type strTMP:',type(strTMP)
print strTMP
print '---- str ----'
strTMP2=strTMP.replace('\x08','')
print 'mi a csocs:',strTMP2
except Exception,e:
print '--- Error ---'
print str(e)
# print strTMP.splitlines()
raw_input('error')
return
return strTMP2

ötlet?

[ Szerkesztve ]

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#718) cousin333 válasza bundli (#716) üzenetére


cousin333
addikt

Nem tudom, miféle feladat ez, de így biztos nem fog működni. Az első for ciklus végigiterál a külső szótár kulcsain: "key1" és "key2". Eddig OK. A második ciklus végigmegy a kulcsok által mutatott szótárak értékek"internal_key1" kulcs alatti elemén, ami itt most csak egy 1 elemű lista ("value1"), ez lesz a value. A baj ott van, hogy, a "key2" szótárában nincs "internal_key1" elem. Ennek úgy lenne értelme :F, ha mindkettő helyen csak "internal_key" szerepelne, szám nélkül.

A self már csak hab a tortán, ennek alapján ez a kód egy osztály része, magában le se fut. Viszont ha egy osztály metódusában van benne, akkor is problematikus, mert a sample_map egy lokális változó lesz, a self.sample_map pedig egy példányváltozó. Tehát ha korábban nem jött létre egy self.sample_map, akkor a program megint csak nem csinál semmit. Illetve de: hibát dob.

[ Szerkesztve ]

"We spared no expense"

(#719) DrojDtroll


DrojDtroll
addikt

Sziasztok!

Tegyük fel, hogy van két változóm: a_valtozo és b_valtozo.

A c_valtozonak mindig pl.: a_valtozo(a_valtozo+b_valtozo) értéket kell felvenni. Nem lehet valahogyan megoldani(függvény nélkül) azt, hogy ha a c_valtozot használni akarom akkor mindig frissüljön az értéke?

(#720) cousin333 válasza DrojDtroll (#719) üzenetére


cousin333
addikt

Egy osztályon belül használhatod a property függvényt, akár dekorátorral is: [link] vagy [link]. Más megoldás most nem jut eszembe :) De ez konkrétan erre van. Más nyelvekben (pl. Java), getter és setter néven fut, de ez elegánsabb.

[ Szerkesztve ]

"We spared no expense"

(#721) Mr Dini válasza Mr Dini (#710) üzenetére


Mr Dini
addikt
LOGOUT blog

Nah, sikerült befejeznem a "kódot"! :C

Megy rendesen, de például a hosszú 'ö' (tehát ő)-vel nem tud mit kezdeni és ezt dobja:

UnicodeDecodeError: 'ascii' codec can't decode byte 0
xc5 in position 31: ordinal not in range(128)

Olvasgattam, hogy hogyan lehetne megoldani a dolgot, de mindenhol csak azvan, hogy az "ő"-t adjam meg unicode szerű kódként. Itt viszont ez nem játszik, mivel user interakcióval töltödik fel a változó adattal...

Van rá más megoldás?

Köszi! :R

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#722) justmemory válasza Mr Dini (#721) üzenetére


justmemory
senior tag

Szia!

Szerintem próbáld meg a script legelejére (pl.1. sor) betenni a következôt:

#-*- coding:utf-8 -*-

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#723) Mr Dini válasza justmemory (#722) üzenetére


Mr Dini
addikt
LOGOUT blog

Köszönöm a választ, de sajnos így is hasonló hibát dob...

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#724) DrojDtroll


DrojDtroll
addikt

Sziasztok.

Az lenne a kérdésem, hogy van-e olyan modul amelynek ha megadok egy szint, egy hibaturest és egy képet vissza adja hogy az adott szín hol helyezkedik el a képen?

(#725) Noddy válasza DrojDtroll (#724) üzenetére


Noddy
senior tag

Szerintem neked a PIL-re van szükséged. Ezzel kitudsz olvasni pixel információkat és tudsz módosítani is. Persze ha csak leakarod tárolni arra is megfelelő.
[link]

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#726) DrojDtroll válasza Noddy (#725) üzenetére


DrojDtroll
addikt

Szuper :)

Tökéletes lesz.

(#727) Mr Dini


Mr Dini
addikt
LOGOUT blog

Sziasztok!

Egy újabb noob kérdésem lenne, megint az iffel kapcsolatban.

Tehát van egy dict globális változóm, ami 3 különböző értékpárt vehet fel, a user integrációjától függően.

Az integráció pedig egy dialógussal történik. Első eset, amikor a dict printelve így néz ki:

{'item':0}

2. eset:

{'item':1}

3. eset:

{'canceled':True}

Namost, próbáltam egy teszt ifet/elifet csinálni mindhárom esetre, de nem akar összejönni... Íme:

if response['item'] == 1:
print('1')
elif response['item'] == 0:
print('0')
else:
print('Kilépés...')
exit(0)

Természetesen a print helyett functionokat hívok meg, de így egyszerűbb szemléltetni/kipróbálni Nektek.

Azt értem, hogy mi a gond, tehát, h ha canceled:1 van benne, akkor nincs item:1, vagy item:0 kulcs és ezért hal meg hibával... Csak azt nem tudom, hogy hogy lehetne helyesbíteni... Segítenétek?

Arra gondoltam, kevésbé szép megoldás alatt, hogy megnézem "stacked" iffel, hogy van-e a locals()-ban response['item'] és ha van, akkor fusson az a rész le, ami most if és elif, majd egy másik stacked ifben, ami response['canceled'] is in locals() lenne, berakom a mostani else-t.

Köszi! :R

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#728) cousin333 válasza Mr Dini (#727) üzenetére


cousin333
addikt

Máskor szerintem használd a Programkód formázást. Köszi!

Bevallom nem teljesen világos számomra, hogy mit is szeretnél csinálni. Az egy elemű szótár mondjuk nem néz ki túl jól. Az if-es példádnál az megvan, hogy a szótár értékei függvények is lehetnek? Pl:

def nyomtat(valami):
print(valami)

def osszead(a,b):
print(a+b)

def semmi():
pass

d = {'a': nyomtat, 'b': osszead, 'c': semmi}

Ezt futtatva és használva:

>>> d['c']()
>>> d['a']('Minden')
Minden
>>> d['b'](3,6)
9
>>>

Lehet persze, hogy esetedben teljesen rossz nyomon járok, de ez az infó még jól jöhet másoknak is ;)

"We spared no expense"

(#729) Mr Dini válasza cousin333 (#728) üzenetére


Mr Dini
addikt
LOGOUT blog

Van egy dialógusom két választási lehetőséggel. Ha az illető az elsőt választja, akkor {'item' : 0} kerül a response változóba dictként. Ha a másodikat választ, akkor ugyanez, csak egyessel lesz a változó.

Ha pedig elutasítja (kilép), akkor {'canceled' : True} lesz a változóban. Na, én ezekrr szeretnék ifeket gyártani.

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#730) axioma válasza Mr Dini (#729) üzenetére


axioma
veterán

De minek ehhez dict?? response={'item':0} helyett ha azt irod, hogy response='item0', ugyanazt tudod rola, ha utana csak a kombinaciokat egyben nezed.
Masreszt szerintem amit keresel:

if 'item' in response:
if response['item']==0:
print '0'
else: # vagy elhiszed vagy itt is vizsgalsz
print '1'
else: # vagy elhiszed vagy itt is vizsgalsz
exit(0)

(#731) Mr Dini válasza axioma (#730) üzenetére


Mr Dini
addikt
LOGOUT blog

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! :R

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!

(#732) axioma válasza Mr Dini (#731) üzenetére


axioma
veterán

Ja, nekem nem volt vilagos, hogy nem te allitod ossze. Es nyilvan jo try-jal.
Karakterkodolast nem tudom, nem volt ilyen problemam me'g ahol nem angol szoveget kellett volna kezelnem (a python nekem csak verseny-nyelv).

(#733) sonar


sonar
addikt

Ha vki szórakozni is akar akkor ajánlom figyelmébe a codecombat oldalt

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#734) DrojDtroll válasza sonar (#733) üzenetére


DrojDtroll
addikt

Firefox alatt nem akar menni :(

(#735) DrojDtroll válasza DrojDtroll (#734) üzenetére


DrojDtroll
addikt

Chrome alatt szépen muzsikál :)

kicsit belefeledkeztem már várom mikor lesz benne valami kihívást jelentő dolog.

egyébként jó koncepció

(#736) DrojDtroll


DrojDtroll
addikt

Jó estét mindenkinek!

Egy függvényben használok rendszerhívást. A rendszerhívás kimenetével szeretnék Pythonban dolgozni. Mi erre a legegyszerűbb mód?

(#737) EQMontoya válasza DrojDtroll (#736) üzenetére


EQMontoya
veterán

Popen nevű hívást nézd meg!

Same rules apply!

(#738) DrojDtroll válasza EQMontoya (#737) üzenetére


DrojDtroll
addikt

Tökéletes :) :R

(#739) sonar válasza DrojDtroll (#735) üzenetére


sonar
addikt

Nekem simán megy firefox alatt
(linux mint 17.3 + FF 47.0)

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#740) DrojDtroll válasza sonar (#739) üzenetére


DrojDtroll
addikt

Most akarok váltani az új Mintre, csak lusta vagyok elkezdeni. Pedig nincs is rajta olyan sok minden amit le kellene menteni.

Nekem Xubuntu 15.10 + ff 46.0.1

(#741) Imy


Imy
veterán

Hogyan tudok listát bekérni, hogy a felhasználó vigye fel?

print 'kerem adja meg a szavakat vesszovel elvalasztva: '
lista = list(input())
#print lista
#lista = [ 'alma', 'korte', 'barack']
print lista

Kommentelve van, hogy mire gondoltam, azaz ez legyen a végeredmény:

#lista = [ 'alma', 'korte', 'barack']

(#742) cousin333 válasza Imy (#741) üzenetére


cousin333
addikt

bemenet = input('kerem adja meg a szavakat vesszovel elvalasztva: ')
lista = bemenet.split(',')
print(lista)

A split függvény szétbontja a beérkező sztringet a vesszők mentén, az eredmény meg egy lista lesz. Még esetleg kiegészíthető ezzel:

lista = [i.strip() for i in lista]

Ez meg leszedi a lista elemeiről a kezdő és záró szóközöket.

A print nálam miért lett lila :F

[ Szerkesztve ]

"We spared no expense"

(#743) harylmu válasza cousin333 (#742) üzenetére


harylmu
őstag

"A print nálam miért lett lila :F"
Python3 ;] (zárójel)

[ Szerkesztve ]

(#744) Imy válasza cousin333 (#742) üzenetére


Imy
veterán

Ez nem működik sajnos. :(

Traceback (most recent call last):
File "C:\Users\xxx\Desktop\python\012_list_hozzafuzes_torles.py", line 12, in <module>
bemenet = input('kerem adja meg a szavakat vesszovel elvalasztva: ')
File "<string>", line 1, in <module>
NameError: name 'alma' is not defined

Python 2.7.11-em van.

[ Szerkesztve ]

(#745) harylmu válasza Imy (#744) üzenetére


harylmu
őstag

print 'kerem adja meg a szavakat vesszovel elvalasztva: '
lista = input().split(',')

(#746) Mr Dini válasza Imy (#744) üzenetére


Mr Dini
addikt
LOGOUT blog

Szia!

Nem vagyok python programozó, de esetleg a bemenet = input('szöveg') után én tennék egy .result -ot. Tehát tippem szerint pl bemenet = input('szoveg').result lesz az. :U

[ Szerkesztve ]

Hogy hívják az éhes horgászt? Gyere Pista, kész a kaja!

(#747) Imy válasza harylmu (#745) üzenetére


Imy
veterán

Sajnos így sem. :(

Traceback (most recent call last):
File "C:\Users\xxx\Desktop\python\012_list_hozzafuzes_torles.py", line 12, in <module>
bemenet = input('kerem adja meg a szavakat vesszovel elvalasztva: ')
File "<string>", line 1, in <module>
NameError: name 'alma' is not defined

(#748) cousin333 válasza harylmu (#743) üzenetére


cousin333
addikt

Gondoltam, hogy a függvényhívás miatt, de akkor az előtte lévő hozzászólásban a list() miért nem lett az?

"We spared no expense"

(#749) harylmu válasza Imy (#747) üzenetére


harylmu
őstag

Most esik le, ha jól látom Python2-ben a raw_input() ami string-et fogad, az input() pedig Python kifejezéseket. Tehát input() esetén a helyes bement ['egy','ketto'], raw_input() esetén pedig a stringet kell átalakítanod egy listába.

(#750) cousin333: yup, annak segítenie kell. :)

[ Szerkesztve ]

(#750) cousin333 válasza Imy (#747) üzenetére


cousin333
addikt

Próbáld újra az enyémet, csak input helyett raw_input-tal. Addig kerítek egy 2.7-es Pythont :)

"We spared no expense"

Copyright © 2000-2024 PROHARDVER Informatikai Kft.