Hirdetés
- 5¼ floppy meghajtó izzítás 30 év pihi után
- Csalók a Facebookon. De ennyi???
- Asszociációs játék. :)
- Telekom TV Mikrotikkel
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Ismerkedés a Zyxel NSA325 v2-vel
- Nagy "hülyétkapokazapróktól" topik
- Ventaris M500
- MultiCooker avagy az elektromos kukta. Ötletek, tippek, tanácsok, receptek.
- Bambanő háza tája
Új hozzászólás Aktív témák
-
cousin333
addikt
Nem állítom, hogy mindent értek az itt szereplőkből (array-t például még sosem használtam), de azért pár dolog nyitásnak. Ha hülyeséget írtam, akkor javítsatok!
Globális hibák:
- a sorok végére nem kell pontosvessző
- a behúzás mértéke nagyon is számít
- nincs kapcsos zárójel sem (legalábbis nem ebben a formában)import GUI, menu
importálja a GUI és menu modulokat, ha jól láttam, ezek nincsenek benne az alap nyelvbenchoices :=array("Subotica";t"Palic");
egy tömb létrehozása; értékadás, tehát kettőspont nem kell; "t" típuskódot én nem látok, és nem is oda kell tenni (az array azonos típusú elemek listája); az elválasztó a vessző, nem a pontosvessző, szóval inkább:
choices = array('u', ['Subotica', 'Palic'])index == appuifw.popup_array(choicess: u"Select:");
Őszintén szólva ez nem tudom, mi akar lenni, az appuifw valami Symbianos cucc Ami biztos rossz, az a kettős egyenlőségjel, illetve a pontosvessző a végén, valamint a choices változónév el lett írva.$prom = 12;
Nem kezdődhet dollárjellel a változó neve, és pontosvessző sem kell.
prom = 12def calculate($prom);
echo $prom+50
Inkább így kellene:
def calculate(prom):
return prom+50calculate();
Pontosvessző nem kell, függvényparaméter viszont igen. Pl.:
calculate(13)if index = 0:
appuifw.note(u"Subotica");
elseif index = 1;
{
appiufw.note(u"Palic")
}
Ez sem az igazi, inkább:
if index == 0:
appuifw.note(u'Subotica')
elif index == 1:
appiufw.note(u'Palic')Remélem azért segítettem valamelyest...
[ Szerkesztve ]
"We spared no expense"
-
sekli
addikt
Sziasztok!
Írtam egy szkriptet, ami folyamatosan lekér egy oldalt. A gong viszont az, hogy a Python 3.1-es verziónál korábbi urllib2 modulban memory leak van, mivel a pys60 port a 2.5.4-est használja ezzel nem nagyon tudok mit tenni. A bug egyébként ismert, itt adnak is egykét tippet, hogy lehetne megoldani, de nálam semelyik nem működik. A probléma az, hogy a telefonon körülbelül hetven kapcsolódás után elfogy a memória, nekem meg futnia kéne órákig (azaz jó lenne, ha nem fogyna a memória egyáltalán). A szerverről letöltött adatokkal egyébként nem is csinálok semmit, a lényeg, hogy a PHP-nek átadjam az URL-ben lévő paraméterek értékeit.
szerintem már mindent kipróbáltam, amit a google-lel találni lehet az ügyben. most így néz ki a kód, minden apró trükkel együtt:
import urrlib2, httplib, gc
while(true):
url = "http://something.com/foo.php?parameter=" + value
f = urllib2.urlopen(url)
f.read(1)
f.fp._sock.recv=None # hacky avoidance
f.close()
del f
gc.collect()gc sem gyűjti be, de legalább jól lelassítja a szkriptet,
valakinek van valami javaslata?
-
mzprox
aktív tag
Üdv,
lenne egy (szerintem) egyszerű fealadat amihez segítséget kérnék, hátha erre téved valak i:
A feladat: bekérni egy stringet, megnézni az összes betűjéről., hogy szerepel e egy előre definiált listában és ha van olyan betű, ami nincs benne akkor hibaüzenet és új string kérése. ha minden elem megvan a listában akkor kérjen egy másik stringet, ezt is ellenőrizze le, ha oké akkor folytatás, ha van oylan elem, ami nincs a listában akkor kezdje a legelejétől.valahogy így kezdődne:
lista=[a,b,c,d]
string1=raw_input("elso")
for i in string1:
....if i not in lista:
.........csináljon valamit
...else:
......string2=raw_input("masodik")stb
innen jöhetne a segítség
A fő kérdés az, hogy hogyan érem el, hogy az összes elemet megvizsgálja és csak azután folytassa, ha minden oké.
A b kérdés, hogyan tudok visszalépni a teljes procedura elejére ha egy későbbi feltétel nem teljesül.Kösz
[ Szerkesztve ]
-
mzprox
aktív tag
Még annyit a fentihez, hogy nem kell pontosan megírni nekem a kódot és még a python se fontos csak az elv a lényeg, gondolom, minden nyelven hasonlóan működik.
-
ArchElf
addikt
while ciklusban:
lista=[a,b,c,d]
while True :
string1=raw_input("elso")
jostring = True
for i in string1:
if i not in lista:
csináljon valamit (hibaüzenet 1)
jostring = False
break
if jostring:
string2=raw_input("masodik")
for i in string2:
if i not in lista:
csináljon valamit (hibaüzenet 2)
jostring = False
break
if jostring:
break
csináljon valamit (string1, string2 feldolgozása)Csak összedobtam, nem teljesen tuti, hogy hibamentes...
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
mzprox
aktív tag
-
Abadus
csendes tag
Tisztelt Programozók!
A következő programozási munkára keresünk szakembert:
http://www.abadus.hu/Project/Python_programozot_keresek_kisebb_projektmunkara
Regisztráció után közvetlenül a munkaadónak tehetnek ajánlatot!
Üdvözlettel
Az Abadus csapata
[ Szerkesztve ]
www.abadus.hu
-
gela90
csendes tag
Sziasztok!
Kezdo kerdesem lenne, ismetlodo loopot szeretnek csinalni a "szamologephez" mert ha elvegzett egy szamolast kilep, vissza kene ugrania az elejerehttp://img109.imageshack.us/img109/2690/asdyg.png
-
nicknev
csendes tag
Sziasztok!
Nemrég kezdtem el a programozással foglalkozni, és úgy döntöttem hogy a Python nyelvet fogom megtanulni, mert azt hallottam róla, hogy egyszerű megtanulni, és érthetőbb mint pl.: a c++ vagy a c#.
El is kezdtem olvasni egy online "könyvet" (Learn Python The Hard Way, 2nd Edition) és a 3-ik leckében volt egy ilyen művelet hogy print "Roosters", 100 - 25 * 3 % 4 amiből a 100 - 25 * 3 % 4 a lényeg számomra, ugyanis nem nagyon értem (és megköszönném ha valaki elmagyarázná), hogy a százalékjeles művelet mit csinál.
Ebből, hogy: 100 - 25 * 3 % 4 hogy lesz 97, míg 100-25*3%5 eredménye 100?Vagy sokat felejtettem a matekból, vagy egyszerűen láma vagyok, de 100-25*(3*0,04)=97, de viszont 100-25*(3*0,05)=96,25 és nem 100. nem tudok rájönni, hogy miért van ez, vagy ha nem így, akkor hogy működne itt ez a %. (Esetleg ez egy bug lenne?) Köszönöm előre is a segítségeteket.
Üdv
nn[ Szerkesztve ]
Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
nicknev
csendes tag
Na megint nekem van problémám
Zed A. Shaw Learn Python The Hard Way, 2nd Edition könyvét olvasom, 13-ik leckénél tartok, és elakadtam.A következő kódot hiába csinálom meg rendesen nem működik (Azt írja ki a piton, hogy
File "C:\Users\valami\Desktop\cucc\ex13.py", line 3, in <module>
script, first, second, third = argv
ValueError: need more than 1 value to unpackA script pedig ez lenne:
from sys import argv
script, first, second, third = argv
print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", thirdMi lehet baja?
Win7et használok, és 2.7-es pythont
Köszi a segítséget előre is[ Szerkesztve ]
Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
Lacces
őstag
Sziasztok!
Valaki ért a Komodo Edithez? Hogyan lehet elérni, hogy futtassa a python kódot?
-
Lacces
őstag
Sziasztok
slicing eljárás, vagy szeletelés a listánál
úgy működik. Pl.: lista[2:6]
hogy a lista elemei közül a 2. 3. 4. 5. indexű elemet vágja ki?A következő példát nem értem, hogy miért van ott a 3-as?
>>> szavak[1:3] = ['saláta']
>>> szavak
['sonka', 'saláta', 'ketchup']Miért nem csak simán szavak[1]=['saláta'] van ott?
-
ArchElf
addikt
úgy működik. Pl.: lista[2:6]
hogy a lista elemei közül a 2. 3. 4. 5. indexű elemet vágja ki?nem, a 2-es indexű elemtő számítva 6 db elemet vág ki.
kivéve
ha nincs második szám:
Vagy én emlékeztem rosszul és de
Szóval
szamok[start:stop]
vagy
szamok[start:stop:lépésköz]
plusz
lista[2:] - a 2.-től az összeset adja vissza
ha a második szám negatív
lista[2:-2] - a 2. től az utolsó-előtti-előttiig adja visszaA következő példát nem értem, hogy miért van ott a 3-as?
>>> szavak[1:3] = ['saláta']>>> szavak['sonka', 'saláta', 'ketchup']
Miért nem csak simán szavak[1]=['saláta'] van ott?
de lehetne, viszont az előző példa nem szemléletes, mert a szavak[1:3] = ... tömb jellegű felülírást jelent... Látványosabb példa volna:
1)
>>> betuk = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
>>> szamok = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
>>> betuk[2:3] = szamok
>>> print betuk
['a', 'b', '0', '1', 'e', 'f', 'g', 'h', 'i']
2)
>>> betuk = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
>>> szamok = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
>>> betuk[2:5] = szamok[7:]
>>> print betuk
['a', 'b', '7', '8', 'e', 'f', 'g', 'h', 'i']AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Lacces
őstag
Ismét egy kérdésem van:
Van ez a jó tulajdonsága Pythonnak, hogy objektumokból alkotott objektumot lehet létrehozni. Ami nekem nagyon tetszik. És őszintén szólva nagyon király programozási nyelvnek tartom a Python-t és viccen kívül most kezdem megérteni a .Net és Java-t is nagyjából. Kiváló tanuló nyelv, nekem legalább is.
Viszont azt kérdezném, hogy ez a lehetőség megvalósítható-e C# és Java alatt is? (objektumból alkotott objektum). Így konkrétan példát még nem láttam rá. De az interfész-re gondoltam, de az másról szól. Talán az öröklődés még ami szóba jöhet. De nem emlékszem így vissza. És nem tudom, hogy angolul is hogyan kéne rákeresnem.
doboz=Teglalap()
doboz.sarok=Pont() #Erre a részre gondolokA teljes példakód:
# coding: iso-8859-2
class Pont:
"Egy matematikai pont definíciója"
# Egy Pont objektum létrehozása
p1=Pont()
# Példány attribútomok vagy változok
# Nem kell semmilyen konstruktor stb.
p1.x=3.0
p1.y=4.0
# Objektumokból alkotott Objektum
class Teglalap:
"egy téglalap osztály definicója"
doboz = Teglalap()
doboz.szeles=50.0
doboz.magas=40.0
# Példányváltozó(sarok) egy Pont objektum
doboz.sarok=Pont()
doboz.sarok.x=12.0
doboz.sarok.y=27.0 -
ArchElf
addikt
Persze, de c#-os kérdésben nézz be ide
Egyébként az alapvető különbség a py és pl. a c# között az az objektumok/tagok láthatósága. A py-ban minden objektum minden tagja látható: az osztályok belső szerkezét, vagy annak egy részét nem lehet elrejteni a külső szemlélő elől, míg ez erősebb nyelvek esetében ez alapkövetelmény.
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Lacces
őstag
Sziasztok!
Ez a következő függvény, ami nem mást csinál, mint a kulcs-érték párokat kicseréli.
def inverse(dico):
"egy új szótár létrehozása lépésről lépésre"
dic_inv={}
for key in dico:
item=dico[key]
dic_inv[item]=key
return dic_invEnnél a résznél a dic_inv[item]=key részt nem értem. Ismerem a szótárakat, átnéztem, de valamiért átcsúszok a logikáján.
for key in dico: - kulcs alapján a dico szótárban keres
item=dico[key] - az item változóban a dico kulcsait tárolom.
dic_inv[item]=key - na én itt valamiért úgy értelmezem, hogy dic_inv[dicokey]=key (ami ismét a dico-nak a kulcsai)[ Szerkesztve ]
-
cucka
addikt
for key in dico: - kulcs alapján a dico szótárban keres
Nem nyert. Ez egy ciklus, ami végigfut a dico nevű dictionary-n és a ciklus magjában a "key" nevű változóban találod az adott elem kulcsát.item=dico[key] - az item változóban a dico kulcsait tárolom.
Nem nyert. Az item változóhoz hozzárendeled a "dico" dictionaryból a "key" kulcs által meghatározott értéket. (Gy.k. - a dictionary az kulcs-érték párok halmaza)dic_inv[item]=key - na én itt valamiért úgy értelmezem, hogy dic_inv[dicokey]=key (ami ismét a dico-nak a kulcsai)
A dic_inv dictionary-hoz hozzáadsz egy új elemet, aminek a kulcsa a dico aktuális elemének az értéke, az értéke meg a dico aktuális elemének a kulcsa.Egyébként meg meg lehet ezt jobban is írni:
def inverse(dico):
dic_inv={}
for key, value in dico.items()
div_inv[value]=key
return dic_invVagy még jobban:
def inverse(dico):
return dict(zip(dico.values(), dico.keys()))Javaslom, próbáld megemészteni ezeket a verziókat is.
-
Lacces
őstag
Aham, igaz
for key in dico - értem, úgy mint a listáknál, ez egy bejárás. Ilyenkor mindig kulcs alapján járja be a szótárt?
dico[key], igen leesett, ami nem más mint a "key" kulcshoz tarotzó értéket írja ki:
dico={'computer':'számítógép'}, akkor ebben az esetben a
print dico[computer] eredménye a számítógép lesz.
Így már eszembe jutott. Még meg kell szokni. Köszönöm szépen!def inverse(dico):
dic_inv={}
for key, value in dico.items()
div_inv[value]=key
return dic_inv
Ebben az esetben, a szótárt úgy kezelem, mint egy objektum. a key az adott elem kulcsa, a value az adott elem értéke. És akkor simán kicseréli a kettőt.A zip-hez szeretnék magyarázatot kérni. Megnéztem angolul, de a fordítással sem értettem meg. Ez összefűzés lenne egyenként? Példákból is így vettem ki.
a dico.values() és dico.keys()-t ismerem.Amúgy erre gondoltál? (hogy a visszatérési érték egy szótár, ami dic_inv a jelen példában) végül is mindegy, az a lényeg, hogy nem a "dico" szótár.
def inverse(dico):
return dic_inv(zip(dico.values(), dico.keys())) -
Lacces
őstag
Meg még egy kérdésem, a get()-el kapcsolatban:
for m in words:
dico[m] = dico.get(m, 0) +1
lista = dico.items()Úgy tűnik a szótár használata nem tiszta számomra...
a get() - azt csinálja, hogy megnézi a dico szótárban az "m" kulcshoz tartozó értéket, ha szerepel benne akkor az m-et ad neki (m értéket, ami a "words" aktuális eleme), ha nem, akkor 0-t. Én így tudtam. De miért van ott az a +1 ?
Itt a könyv teljes példájának a kód sorozata:
nFile = raw_input('Kezelendo file neve : ')
fi = open(nFile, 'r')
text = fi.read()
fi.close()
# annak erdekeben, hogy a szoeg szavai konnyen elklulonithetok legyenek, a nem
# betu karaktereket betukozze alakitjuk :?
alpha = "abcdefghijklmnopqrstuvwxyzíéáúóüöÍÉÁűőŰŐÚÓÜÖ"
betuk = '' # a lerehozand uj karakterlanc
for c in text:
c = c.lower() # minden betut kisbetuve alakit
if c in alpha:
betuk = betuk + c
else:
betuk = betuk + ' '
# az eredménystring átalakítása szavak listájává :
words = betuk.split()
# a hisztogram elkészítése :
dico ={}
for m in words:
dico[m] = dico.get(m, 0) +1
lista = dico.items()
# az eredménylista rendezése :
lista.sort()
# kiiratas :
for item in lista:
print item[0], ":", item[1] -
cucka
addikt
Ilyenkor mindig kulcs alapján járja be a szótárt?
Nem kulcs alapján járja be, hanem a kucsot kapod meg alapesetben ciklusváltozónak.ebben az esetben a print dico[computer] eredménye a számítógép lesz.
Nem, ennek az eredménye általában egy hibaüzenet lesz. Esetleg így érdemes:
print dicto['computer']Ebben az esetben, a szótárt úgy kezelem, mint egy objektum. a key az adott elem kulcsa, a value az adott elem értéke.
A szótár az egy objektum. Mindig.
Ebben az esetben nem a szótáron iterálsz végig, hanem a szótár.items() függvény visszatérési értékén, ami egy lista, aminek elemei (kulcs,érték) párok.A zip-hez szeretnék magyarázatot kérni.
Elmagyarázni hosszú, itt egy példakód, ami alapján le kell essen, hogy mire jó:
>>> digits=[1,2,3]
>>> hungarian=['egy', 'ketto', 'harom']
>>> english=['one', 'two', 'three']
>>> zip(digits,hungarian,english)
[(1, 'egy', 'one'), (2, 'ketto', 'two'), (3, 'harom', 'three')]Amúgy erre gondoltál? (hogy a visszatérési érték egy szótár, ami dic_inv a jelen példában) végül is mindegy, az a lényeg, hogy nem a "dico" szótár.
Ezt nem értem, a mellékelt kódot sem. -
Lacces
őstag
Aham, most már így értem. Igen, egy csomó dolgot értelmezte félre, és írtam le rosszul, most akkor egy kis pihenés jön.
Igen, így már leesett a zip.
Vagy még jobban:
def inverse(dico):
return dict(zip(dico.values(), dico.keys()))Itt mi a "dict"?
Beírtam ezt a kódot a másik helyett, és elfogadta, de anélkül is elfogadta ha nem volt ott a "dict"És köszönöm a türelmedet!
-
cucka
addikt
A zip az egy listát csinál, aminek az elemei tuple-k (párok vagy n-esek)
A dict() az a dictionary konstruktor, ami egy ilyen listából dictionary-t csinál.A függvény return sorába meg bármit beírhatsz, mivel Pythonban a függvényeknél nincs előre meghatározva, hogy milyen típusú értékkel térnek vissza.
-
Lacces
őstag
Sziasztok!
Ismét jelentkezem.
Most egy GUI-s feladatot csináltam meg a könyv alapján. Egy kis vonatot rajzol ki, színezve a vagonok, ablakok, arcok.
Első kérdésem, ami talán egyszerűbb:
Tudtok benne kód rövidítést? Esetleg "szebb" kódot? Már kaptam jobb megoldásokat itt a fórumon.Második kérdésem:
Van egy adott light() és egy light34(). Az előbbi az ablak színét feketéről sárgára változtatja. Az utóbbi, a 3. és 4. vagon ablakit változtatja meg.
Ez ügyben a kérdésem: Hogyan lehet azt elérni, hogy, adott indexű ablakokat világítson csak meg?Próbálkoztam vele, de nem jött össze:
light()-ot így módosítani, hogy kap egy index nevű paramétert, ha az f == index, akkor azt az f-et fogja csak módosítani.
def light(self, index):
"felkapcsolja a vagon belső világítását"
for f in self.ablakIndex:
if f==index:
self.canvas_.itemconfigure(f, fill="yellow")
def light34(self):
"ablak színének megváltoztatása a 3.és 4. vagonban"
self.v3.light(1)
self.v4.light(2)És egy másik kérdés is érdekelne, hogyan lehetne, egyszerre több ablak indexét is átadni? Én tömbre gondoltam, vagy numerikus listára. És akkor az elágazás a for ciklusban így nézne ki (light metódusban)
if f in numerikuslista
Bár ezt sem tartom szép megoldásnak...Teljes, működő kód:
# coding: iso-8859-2
from Tkinter import *
def circle(can,x,y,r, colour="white"):
"a <can> vászon egy <r> sugarú kör rajza <x,y> pontban"
can.create_oval(x-r, y-r, x+r, y+r, fill=colour) # kör rajzolása elipszisből
class Application(Tk):
def __init__(self):
#Szülőosztály konstruktora:
Tk.__init__(self)
self.can=Canvas(self, width=475, height=130, bg="white")
self.can.pack(side=TOP, padx=5, pady=5)
Button(self, text="Train", command=self.rajzolas).pack(side=LEFT)
Button(self, text="Hello", command=self.kineznek).pack(side=LEFT)
Button(self, text="Világítás", command=self.light34).pack(side=LEFT)
def rajzolas(self):
"4 vasúti kocsi létrehozása vásznon"
# a vasúti kocsikat a vagon osztályban vannak definiálva
self.v1=vagon(self.can, 10, 30)
self.v2=vagon(self.can, 130,30, "dark green")
self.v3=vagon(self.can, 250,30, "maroon")
self.v4=vagon(self.can, 370, 30, "purple")
def kineznek(self):
"személyek megjelenése bizonyos ablakokban"
self.v1.perso(3) # 1.vagon, 3.ablak
self.v3.perso(1) # 3.vagon, 1.ablak
self.v3.perso(2) # 3.vagon, 2.ablak
self.v4.perso(2) # 4.vagon, 1.ablak
def light34(self):
"ablak színének megváltoztatása a 3.és 4. vagonban"
self.v3.light()
self.v4.light()
class vagon:
# a paramétereket a rajzolás függvényben kapja
# a kosntruktorhoz hozzáadtam a colour paramétert
def __init__(self, canvas_, x, y, colour="navy"):
"egy kis vagon rajza a <canvas> vásznon <x,y> pontban"
# paraméterek tárolása példány-változókban
self.canvas_, self.x, self.y=canvas_, x, y
# alap téglalap rajzolása
canvas_.create_rectangle(x,y, x+95, y+60, fill=colour)
# 3 ablak 25x40 pixel, 5 pixel távolságra
self.ablakIndex=[] # ablak hivatkozásainak tárolása egy lista
for ablak in range(x+5, x+90, 30):
#az ablak index-hez listához (hozzáfűzi) hozzáadja a következő canvas-okat.
self.ablakIndex.append(canvas_.create_rectangle(ablak, y+5, ablak+25, y+40, fill="black"))
# két 12 pixel sugarú kerék
circle(canvas_, x+18, y+73, 12, "gray")
circle(canvas_, x+77, y+73, 12, "gray")
def perso(self, wind):
"egy személy mejelenése a <wind> ablakban"
# minden egyes ablak közepe koordinátájának a kiszámítása:
xm=self.x+wind*30-12
ym=self.y+25
circle(self.canvas_, xm, ym, 10, "pink") #arc
circle(self.canvas_, xm-5, ym-3, 2) #balszem
circle(self.canvas_, xm+5, ym-3, 2) #jobszem
circle(self.canvas_, xm, ym+5, 3) #száj
def light(self):
"felkapcsolja a vagon belső világítását"
for f in self.ablakIndex:
self.canvas_.itemconfigure(f, fill="yellow")
Application().mainloop()[ Szerkesztve ]
-
cucka
addikt
Tudtok benne kód rövidítést? Esetleg "szebb" kódot?
Rövidítést nem, mert ez így pont elég rövid. Esetleg írhatnál kevesebb, de jobb minőségű kommentet .Szebb kódhoz meg írd át szépen teljesen oop-s re.
Van egy vonat objektumod, aminek vannak vagonjai (ez egy lista, mert fontos a sorrend). A vagonoknak vannak ablakai (ezek nem feltétlenül osztályok), meg vannak emberek, akik a vagonban ülnek.
A vagonok tudják, hogy hanyadikak a sorban (ezt biztosítja nekik a vonat objektum) és ki tudják rajzolni magukat, illetve fel-le tudják kapcsolni egy adott ablakukat.
Nagyjából valami hasonló, sokáig el lehet ezzel szórakozni. -
Lacces
őstag
:-) Igen, nem rossz objektumokra szétszedni, csak az objektumok összekötése az már egy érdekes dolog.
Ez a könyv amiből tanultam, az alapokat adja meg a programozásra, ami nem rossz, lehet majd megnézem magamnak azt a komolyabbat is amiből te is tanultál. De az objektumokkal való szórakozás, amikor sok van, és azokat összekapcsolni, nah arra talán egy ilyen projekt példa volt, na majd az alapján összeeszkábálom majd szerintem.
Nem rossz nyelv, ez a python, nekem tetszik, bár sosem gondoltam, hogy komolyabban foglalkoznék vele, hobbi szinten nekem tetszik.
Olyan oldal létezik a python alá, mint például a www.codeproject.com ?
Ahol opensource projektek, tutorialok vannak fent? Egy komplett kis alkalmazás elkészítése.Google-el az a baj, hogy beírom, hogy java file manager vagy python file manager code source / tutorial / project, akkor nem igazán ad ki rá értelmes találatot.
Ilyen jó lenne, és főleg olyan, ahol sok objektum-orientált szemlélet van benne.
-
nicknev
csendes tag
Üdv
Kezdő programozó vagyok, de ezeket ismerem, jó kis oldalak:
github.com
launchpad.net
koders.com
bitbucket.org
Ezek mind-mind tele vannak open source projektekkel, de nem csak Python van.
De nemhiszem, hogy ezeken lennének tutorialok, szerintem csak forráskódok.Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
n00n
őstag
Én is pár hónapja kezdtem el Pythont tanulni. Lényegében az első (sulis Turbo Pascalozást inkább nem sorolom ide ) programozási nyelvem lesz. Könyvnek Gérard Swinnen : Tanuljunk meg programozni Python nyelvét (magyar fordítás) választottam [link]
Viszont itt grafikus felületnek a Tkintert használja, ami valljuk be nem éppen a legpraktikusabb grafikus könyvtár.
(A hozzászólásom egy rejtett subscribe lenne. )
-
bucsupeti
senior tag
Szintén most kezdek pythonozni. Egy egyszerű kérdést had tegyek fel. Mi a különbség a 2.7.x és a 3.2.x verziók között, miért fejlesztik mindkét vonalat? A hivatalos oldalon olvastam hogy a 2.7.x sokkal több egyéb rendszerrel kompatibilis mind a 3.x sorozat. Melyiket érdemes feltelepíteni?
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
ArchElf
addikt
válasz bucsupeti #86 üzenetére
Ha a rendszered támogatja 3-as vonalat, akkor azt. Persze attól is függ, hogy használsz-e (illetve szeretnél-e használni) olyan könyvtárakat, amelyek csak az egyik vagy másik verzióra készültek el. Akkor ugye azt vagy kénytelen használni.
A 3-asban van egy csomó újdonság (néhányat részben vagy egészben backport-oltak 2.x verziókra is), szóval, ha minden megvan neked a 3-as verzióban akkor az ajánlott.
Amúgy még mindkét vonalat fejlesztik.AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ftc
nagyúr
Egy kis helpet kérnék...most kezdtem el pythonban programozni...eddig jobban bejön mint C...de megakadtam
ha else-t irok minig kidob invalid syntaxal......mi a hiba?
csak példa
if (a>100):
print "a blbla"
else : s itt annyi ismit csinálok rosszul?
-
nicknev
csendes tag
Sziasztok!
Szeretnék csinálni egy 2D-s platformert (mint mario pl) pythonban. Tudnátok egy tutorialt és egy enginet ajánlani? Kezdő vagyok.üdv
Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
Cheesy
őstag
Csak rátaláltam végre - az úgy tűnik - helyes útra.
Először azt hittem php-ra lesz szükségem de pár óra netes keresés és info gyűjtés után (perl vs python többek között...) rájöttem, hogy a py egy jó alap lenne ahhoz amit meg akarok valósítani.
A könyvvel már találkoztam régebben, elolvastam az első kb 30 oldalt, még egy másik "feladat" miatt kellett, de segített.Az projectem első fázisa:
egy aktív watchdir létrehozása .sfv (crc) checkerrel, majd egy parancs elküldése 100%-nál a következő rutinnak.Tesztkörnyezetnek mit ajánlotok? Remélem elég hatékonyan lehet windows környezetben is programozni vele ( a leírás alapján igen), mert linux nékem túlnyomó részt ismeretlen.
www.vakbelmutet.hu
-
cucka
addikt
Tesztkörnyezetnek mit ajánlotok?
Lehet. Van a sima windows-os python illetve létezik egy ActivePython nevű környezet is, mindkettő problémamentesen működik.
Javaslom, fejlesztés előtt döntsd el, hogy 2.x vagy 3.x verziójú python-t használsz, vannak eltérések.
Fejlesztőeszköznek Netbeans-t használok python-hoz, teljesen jó. -
nicknev
csendes tag
Üdv!
Van valami módszer arra, hogy a szótárakban használhassak magyar betűket, meg inputot is kaphassak? pl
a = {'árvíztűrő tükörfúrógép':'valami'}
Az nem segít, ha a .py elejére beírom hogy :
# This Python file uses the following encoding: utf-8Köszi előre is a segítséget.
Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
cucka
addikt
Az nem segít, ha a .py elejére beírom hogy :
Mert mit gondoltál, a python interpreter majd megérti az angol nyelvű leírást?A unicode stringeket definiáld unicode típusúnak, továbbá kezdd ezzel a file-odat:
# coding=utf8Egyébként javaslom, hogy unicode karaktereket tartalmazó dict. kulcsok helyett oldd meg máshogy a feladatot.
-
nicknev
csendes tag
Mert mit gondoltál, a python interpreter majd megérti az angol nyelvű leírást?
Elvileg meg kéne, mármint a PEP 0263 szerint ez egy semi-comment, és értenie kellene.
Egyébként javaslom, hogy unicode karaktereket tartalmazó dict. kulcsok helyett oldd meg máshogy a feladatot.
Máshogy meg nem tudom megoldani, mert a feladat az, hogy egy Morse szótárat csináljak (beírod a szöveget, az meg lefordítja, majd le is sípolja.az angol karakterekkel már működik)
Szerk.: Megpróbáltam amit írtál, de így is KeyErrort kapok, nem látok különbséget.De azért köszi.
Valaki, valami megoldás?
[ Szerkesztve ]
Ha privát üzenet küldesz biztosabban látom, hogy írtál ;-) Amíg aktív a hírdetés addig meg van amit hírdetek.
-
Siriusb
veterán
Adj' Isten!
Python 3-mal kezdtem el ismerkedni és GUI-t szeretnék klszíteni a tkinter-rel. Kérdésem, amire nem találtam választ: Miként lehetne a root-on belül több különálló (toplevel) ablakot gyártani, amik a szülő keretén kívül nem tartózkodhatnak. Tehát egy szülő ablak foglaljon magába több leszármazott ablakot, vizuálisan is.
Vagy ezt tkinterrel nem lehet megoldani?
-
Kattt01
tag
Hello, látom nemigen él ez a fórum, de hátha választ kapok egy egyszerű kérdésre.
Miért nem tudok .py kiterjesztésű egyszerű scripteket futtatni a ">>> python fajl.py" paranccsal? A fájl helye rendben van, hibaüzenetként sytax errort kapok. ">>> execfile(fajl.py)"-vel működik...Szerk.: Python 2.7.2-vel, meg 3.2-vel is próbáltam, egyikkel sem megy.
Tudom amatőr kérdés, de elég noob vagyok a témában.
[ Szerkesztve ]
Új hozzászólás Aktív témák
Hirdetés
- HiFi műszaki szemmel - sztereó hangrendszerek
- Túra és kirándulás topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- VoLTE/VoWiFi
- PlayStation 5
- Napelem
- Programozás topic
- SzinkronSarok - Már lehet szavazni a következő projektre
- Nothing Phone (2a) Plus - semmi lényegi plusz
- Milyen egeret válasszak?
- További aktív témák...
- ÉRKEZETT Legújabb Bontatlan Új M4 Chipes IPAD PRO 2024 11 13 1év gar Azonnal Deák Térnél Átvehető.
- ÚJ BONTATLAN Macbook Air Apple M1 M2 M3 Legújabb Magyar 1 év Garancia Deák Térnél Azonnal Átvehető
- Működő notebookok
- ITX Gamer PC alap - I3 / H410i / 16GB DDR4 / 600W Gold
- Toshiba Tecra A50-C, 15,6" FHD IPS Kijelző, i7-6500U CPU, 16GB DDR4, 256GB SSD, WIN 10, Számla, gara
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest