Python programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


sekli
(addikt)

heló,

ugyan rettentően kihalt a topik, én mégis megpróbálkozom egy rém buta kérdéssel, egyszerűen csak nem értem, hogy miert nem jó, pedig annyira egyszerű dolog:

van egy osztály:

import random

class Cube():
def __init__(self,x,y,size):
self.x = x
self.y = y
self.size = size

cubes = []

( két dimenziós kocka, nincs harmadik koordinátája, ez most ilyen :) )

feltoltok egy tombot elemekkel:

for i in xrange(0,5,1):
a=Cube
a.x=random.randrange(320)
a.y=80+random.randrange(160)
a.size=(a.y-80)/4
cubes.append(a)
print cubes[i].x #itt ki is irja szepen mindegyik (kulonbozo x-et)

es ezek mar nem mukodnek, egyik sem:

for kocka in cubes:
print kocka.x

mindig a 4-es indexu (utolso) elemet irja ki, xrange()-el sem megy, sot, igy sem:

print cubes[2].x


RedAnt
(aktív tag)
Blog

a=Cube

Így zárójelek nélkül "a" a Cube osztályra fog mutatni, ahelyett hogy egy új objektumot inicializálnál.
Helyesen:

def __init__(self, x=0, y=0, size=0)
...
a = Cube()

vagy
a = Cube(0, 0, 0)

Érdemes még az osztály definiálásánál megadni az objectet szülőosztálynak:
class Cube(object):


sekli
(addikt)

köszönöm szépen!


Sanyix
(őstag)
Blog

hogy lehet ebben a fosban ezt a pyxml libet életrekelteni? Mert az az ősrégi verziós win32-es telepít azt írja hogy nincs python 2.4-em (igen mert 2.6 van). A setup.py-vel buildolva meg mindig elszáll azzal hogy unable to find "vcvarsall.bat".


RedAnt
(aktív tag)
Blog

A PyXML-et régóta nem tartják karban, de miért akarnád azt használni? 2.6-ba be van építve minden ami xml feldolgozáshoz kellhet.


Sanyix
(őstag)
Blog

ahhoz képest ez a pyffi nevű másik fos állandóan azért sír hogy nincs xml parser.


ZeUS2140
(aktív tag)

Sziasztok.

L2j server-t babrálok, modolok (100% legális...) és a quest-ek py-ben vannak megírva.
Elég jól átlátom és módosítgatom, igazítom a saját igényeimhez, de egy résznél elakadtam.
Szóval röviden, hogy felkeltsem a kedveteket: :)
Adott egy quest, ahol 5 dolog választható. Van 5 változó, amit a meghívott html file-ok választanak ki. Pl egyik html file-ban a linkre kattintva SK paraméter jön vissza.
Ezt az elején a definiálásnál leírt SK : [.........] rész tartalmával fel is tölti.
Utána a SK változó tartalmával lefut 3-4 sql írás és kész.

Na a problémám: nekem a 3-4 sql-be írás előtt, közvetlen után kellene egy SK változóban lévő paraméter alapján egy IF ellenőrzés.
Ezt akár milyen formában írom be, már a py file elején megáll.

Vagy az IF részt tolom el, de hibát nem ír sehol, szóval durva hibát nem követek el.

Aki tudna segíteni írjon már rám msn-ben kérem. Küldök egy file-t, elküldöm, hogy mit szeretnék, és hogy csináltam és csak azt kellene megnézni, hogy ez így jó-e, miért nem jó és esetleg egy hogyan kellene.

Eddig így próbáltam: ha SK jön vissza html-ből, akkor SK első változója a newclass = 33

Az sql módosítások elé beírtam:

if newclass = 33 :
st.giveItems(620,1)

Szóval egy sima változó alapján 5 IF rész kellene nekem.

Aki tud, akar segíteni előre is köszönöm. PM-ben, vagy MSN-en megtalál.
MSN: zeus2140@hotmail.com


ZeUS2140
(aktív tag)

rájöttem, megoldottam...
Lényeg, hogy tárgytalan a kérdésem.


altec
(csendes tag)

Hello mindenkinek!

Egy olyan programra lenne szükségem, ami ebből:

Csanak Dávid
12
20
Borbély András
27
Pál Balázs
26
13
18

ilyet ilyet tud csinálni:

Csanak Dávid 32
Borbély András 27
Pál Balázs 57

A nevekhez pontszámok tartoznak. Csak az van itt, akinek legalább egy pontszáma van, akinek nincs pontja, az nem szerepel a fájlban. Az adatokat fájlból olvassa be. Az inputfájl a program parancssori paramétere. Ha nincs paraméter, hibát írjon ki.

:( nem nagyon vágom a pythont (és a többi nyelvet se)! :(
Nagyon örülnék :DD , ha segítene vki, még mára kellene.


kopasza
(csendes tag)

Kernem valaki segitsen ezt kaptam vizsgapeldarah javitsam ki belole a hibakat es komentaljam a program mukodeset es nem nagyon megy :( segitene valaki ?

import GUI, menu
choices :=array("Subotica";t"Palic");
index == appuifw.popup_array(choicess: u"Select:");
$prom = 12;
def calculate($prom);
echo $prom+50

calculate();

if index = 0:
appuifw.note(u"Subotica");
elseif index = 1;
{
appiufw.note(u"Palic")
}


cousin333
(addikt)
Blog

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 nyelvben

choices :=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 :F 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 = 12

def calculate($prom);
echo $prom+50

Inkább így kellene:
def calculate(prom):
return prom+50

calculate();
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 ]


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
(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
(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)
Blog

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 ]


mzprox
(tag)

Köszi szépen,

Igazából az első kérdésemre való válaszra rájöttem közben (talán), a fő kérdés az maradt, hogyan tudok később visszatérni az egész procedúra elejére ha egy későbbi feltétel nem teljesül. ezekszerint csak úgy megy, hogy az egész egy while ciklusban van


ArchElf
(addikt)
Blog

Persze - a goto az ördög műve :)

AE


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 ]


gela90
(csendes tag)

Sziasztok!
Kezdo kerdesem lenne, ismetlodo loopot szeretnek csinalni a "szamologephez" mert ha elvegzett egy szamolast kilep, vissza kene ugrania az elejere

http://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 ]

üzenetek