View Full Version : Python - pomoć potrebna
wolf_deamon
22.12.2010., 14:36
Bok , ima li koga tko bi mi mogao pomoci oko ctypes in Python26 ?? Zelio bi znati kak koristiti ?? ja sam do sada uspio napraviti :ne zna:
import os
import string
from ctypes import *
WORD = c_ushort
DWORD = c_ulong
LPBYTE = POINTER(c_ubyte)
LPTSTR = POINTER(c_char)
HANDLE = c_void_p
class RegisterDeviceNotification(Structure):
_fields_ = [
("hRecipient", HANDLE),
("NotificationFilter", HANDLE),
("Flags", DWORD),
]
no sto sada sa time ?? kako da to primjenim da mi daje rezultate :s :confused:
http://msdn.microsoft.com/en-us/library/aa363431.aspx
Markoleo
22.12.2010., 17:47
ima jedna stranica sa script-ama za win server, ako još postoji, nemam link kod sebe.
malo sam bacio pogled prije na to, uglavnom sve se radilo sa sa query-em (znači: select nešto from neki_system_file), ako me sjećanje ne vara.
wolf_deamon
22.12.2010., 18:34
hmm da ali to ti nema veze sa serverima nego to ti ima veze sa python-ovim pristupanjem programskim dll i njihovom koristenju ... ova mala skrtipata mi omogucuje da iskoristim user32.dll i provjerim dali je neki plug and play uredaj spojen na komp
Hermenegildo
22.12.2010., 18:50
moraš iz dll-a učitati funkcije i predati im parametre
vidi ode (http://www.andreavb.com/API_USER32.html)
wolf_deamon
22.12.2010., 19:25
aha , hvala ... a dali znas kak to ide u ovome slucaju ... zbilja moram to shvatiti jer zbilja sam los sto se tice C jer ga do sada nisam ni pogledao
Otišao na google, upisao API win32 python i dobio npr. http://vermeulen.ca/python-win32api.html. Pogledaj i ostale linkove koje je tražilica izbacila.
wolf_deamon
22.12.2010., 21:18
Otišao na google, upisao API win32 python i dobio npr. http://vermeulen.ca/python-win32api.html. Pogledaj i ostale linkove koje je tražilica izbacila.
e hvala ti nasao sam par zanimljivih stvari :D ... no opet to mi ne pomaze kod moga problema
Evo sam skužio. Prvo ti treba baciti oko na dokumentaciju za ctype (http://docs.python.org/library/ctypes.html)
nakon toga ide
from ctypes import *
lib=windll.user32
print lib.RegisterDeviceNotificationA(22200, 0, 0)
wolf_deamon
23.12.2010., 10:49
Evo sam skužio. Prvo ti treba baciti oko na dokumentaciju za ctype (http://docs.python.org/library/ctypes.html)
nakon toga ide
from ctypes import *
lib=windll.user32
print lib.RegisterDeviceNotificationA(22200, 0, 0)
e hvala :D ... ucinio si mi ogromnu uslugu :top:... hmm nasao sam i ja nesto sto moze pomoci http://python.net/crew/theller/ctypes/tutorial.html ... to moram danas prouciti
barbie555
27.12.2010., 21:13
da li mi netko moze pomoci u pythonu? please?
da li mi netko moze pomoci u pythonu? please?
Pa prvo napiši što te muči.
bariole
28.12.2010., 15:44
može...
barbie555
28.12.2010., 20:09
Branje za ocene 6-8
Če vrstico razdelite po nizu <tr>, boste dobili seznam, katerega elementi bodo ustrezali posameznim osebam; poleg njih bodo tudi elementi, ki ne ustrezajo osebam temveč naslovom znotraj seznama ipd.
Če posamezen element še naprej razdelite po na znakih >, bo navadno v tretjem elementu ime, v petnajstem pa telefonska številka. Če vrstica nima toliko elementov ali če ime ni dolgo vsaj pet znakov ali če se telefonska številka ne začne s +386, je z vrstico nekaj narobe (element ne predstavlja osebe, oseba nima telefonske številke ali pa je narobe kaj drugega). V tem primeru smete (samo za ocene 6-8, ne pa tudi za 9 in 10) tako vrstico ignorirati. Dobljene podatke očistite, tako da odstranite odvečne presledke, nize, kot so </a in </div ter podobno šaro.
Iz vseh vrstic je potrebno prebrati ime osebe, telefonsko številko in spletno stran, če jo oseba ima. Osebo smete izpustiti le, če nima ne telefonske številke ne spletne strani.OK, resnejši namig: lahko se trudite razkosati vrstico, iskati po njej... kar vam bo vzelo precej časa. Lahko pa se potrudite in se naučite uporabljati regularne izraze (modul re). Če o njih ne veste še nič, vam bo to prav tako vzelo kar nekaj časa, vendar na svetu ni veliko tako uporabnih reči, kot so regularni izrazi. Porabljeni čas bo odlično naložen.
Refulgent_Splendour
28.12.2010., 21:11
Barbie555 meni ovo sliči na slovenski, a ne na python. Dakle, slovenski ti ide okej. Kak napreduješ s pythonom? Imaš kakav source napisan s kojim trebaš pomoć il kaj?
OTOH, prema google translatetu sudim da ti treba HTML parser. Ljudi pythonci dosta hvale http://www.crummy.com/software/BeautifulSoup/.
barbie555
28.12.2010., 22:19
heh. i je na slovenski... imam napisan dio programa ovako:
from PyQt4 import QtCore, QtGui
import PyQt4.uic
import urllib
app = QtGui.QApplication([])
def napolniText():
novText = ""
for i in zip(imena, telefonske):
if str(dlg.isciText.text()).lower() in i[0].lower():
novText += "%s %s\n" % (i[0], i[1])
dlg.izpisText.setPlainText(novText.decode('utf-8'))
vrstice=[]
for line in urllib.urlopen("http://www.fri.uni-lj.si/si/osebje"):
if line.strip().startswith('<table border="0" cellspacing="0" cellpadding="0">'):
vrstica=line
vrstica2 = vrstica.split('<tr>')
for i in vrstica2:
vrstice.append(i.split('>'))
imena=[]
telefonske=[]
for i in range(len(vrstice)):
if len(vrstice[i]) > 15:
if len(vrstice[i][3]) > 5 and vrstice[i][15].strip().startswith('+386'):
imena.append(vrstice[i][3].strip("</a"))
telefonske.append(vrstice[i][15].strip("\xc2\xa0</div"))
i sad bih trebala ovaj drugi dio koji kaze:
iz svih redaka moras procitati ime, tel.broj i internetnu stranicu. osobu smijete ispustiti samo ako nema ni telefona ni internet.str.
mozete upotrebljavati modul re i regularne izraze?
Markoleo
29.12.2010., 16:43
Bok , ima li koga tko bi mi mogao pomoci oko ctypes in Python26 ?? Zelio bi znati kak koristiti ?? ja sam do sada uspio napraviti :ne zna:
import os
import string
from ctypes import *
WORD = c_ushort
DWORD = c_ulong
LPBYTE = POINTER(c_ubyte)
LPTSTR = POINTER(c_char)
HANDLE = c_void_p
class RegisterDeviceNotification(Structure):
_fields_ = [
("hRecipient", HANDLE),
("NotificationFilter", HANDLE),
("Flags", DWORD),
]
no sto sada sa time ?? kako da to primjenim da mi daje rezultate :s :confused:
http://msdn.microsoft.com/en-us/library/aa363431.aspx
http://timgolden.me.uk/python/win32_how_do_i.html
ima još jedan link od ms-a za skriptiranje kao što sam prije napisao, samo nemam kod sebe taj link.
wolf_deamon
30.12.2010., 18:18
http://timgolden.me.uk/python/win32_how_do_i.html
ima još jedan link od ms-a za skriptiranje kao što sam prije napisao, samo nemam kod sebe taj link.
ok , hvala ti i na ovome koji si mi dao .. ako se kasnije sjetis postaj mi i taj drugi link :D ...
Markoleo
30.12.2010., 18:38
ok , hvala ti i na ovome koji si mi dao .. ako se kasnije sjetis postaj mi i taj drugi link :D ...
evo jedan primjer, čini mi se da su skoro sve prebacili u powershell ili nešto drugo
http://gallery.technet.microsoft.com/scriptcenter/en-us/154dcae0-57a1-4c6e-8f9f-b215904485b7
znači na sličnu formu radiš i s drugim stvarima.
upiši python i dobit češ sve primjere u kojima se koristi python
drugi primjer
http://gallery.technet.microsoft.com/scriptcenter/en-us/45b3f407-aa55-4255-8c91-331d3e451960
koliko vidim to ne radi na novim windowsima, zato su i maknuli vjerojatno.
wolf_deamon
30.12.2010., 22:38
evo jedan primjer, čini mi se da su skoro sve prebacili u powershell ili nešto drugo
http://gallery.technet.microsoft.com/scriptcenter/en-us/154dcae0-57a1-4c6e-8f9f-b215904485b7
znači na sličnu formu radiš i s drugim stvarima.
upiši python i dobit češ sve primjere u kojima se koristi python
drugi primjer
http://gallery.technet.microsoft.com/scriptcenter/en-us/45b3f407-aa55-4255-8c91-331d3e451960
koliko vidim to ne radi na novim windowsima, zato su i maknuli vjerojatno.
:s zahvalan xD ... jer zbilja sam jako malo radio sa ctypes tj. skoro nista pa onda mi treba pomoc
studentica_help
07.01.2011., 14:44
Ako je tko voljan pomoći, hitno mi trebaju rješenja ovih dvaju zadataka...
http://www.foi-forum.com/download/file.php?id=1531&mode=view
http://www.foi-forum.com/download/file.php?id=1591&mode=view
ronnie7
10.01.2011., 12:18
pomoc oko pythona2 :-)
da ne otvaram novu temu..
treba mi pomoc oko nekoliko jednostavnih primjera,ne snalazim se bas najbolje u pythonu. A jednostavni primjeri bi bili vjerujem bas jednostavni, napisat klasu i provjerit funkcionanost i nekoliko metoda..
nadam se da neko dobre volje naleti na temu tokom dana:)
Hermenegildo
10.01.2011., 14:40
počni od ovoga (http://docs.python.org/tutorial/classes.html), napiši kod pa kad zapneš dojdi sa konkretnim pitanjem.
barbie555
11.01.2011., 21:53
hej
kako napisat regularni izraz da ti osim url-a cita i imena topica?
imam napisano iduce:
re_file = re.compile(r'<td class="topic starter"><a href="(.*?)">', re.DOTALL | re.IGNORECASE)
i to cita samo url... ima neko ideju kako dalje?
bariole
11.01.2011., 21:57
Napiši dva regularna izraza.. :kava:
Daj primjer toga što želiš machirati..
barbie555
11.01.2011., 22:01
<tr class="discussion r0"><td class="topic starter"><a href="http://ucilnica.fri.uni-lj.si/mod/forum/discuss.php?d=881">Animator</a></td>
iz toga moram izvuci van - Animator...
:) ne znam napisat regex za to? help?
Hermenegildo
11.01.2011., 22:27
ovako?
re.search('<td class="topic starter"><a href=".*?">(.*)</a>.*', '<tr class="discussion r0"><td class="topic starter"><a href="http://ucilnica.fri.uni-lj.si/mod/forum/discuss.php?d=881">Animator</a></td>', flags=0).group(1)
Refulgent_Splendour
11.01.2011., 22:28
Moraš malo bolje specificirati zadatak. Ako je poanta samo izvući riječ van na kojoj se trenutno nalazi "Animator" onda je rješenje trivijalno: 1">(\w+)</a
Ako se sa linkom mijenja i text onda ovak: href="[^"]+">(\w+)</a
(perl sintaksa, eskejpati po volji za jezik koji koristiš).
barbie555
11.01.2011., 22:37
hm, zadatak kaze:
napisi regularni izraz s kojim ces pokupit url-e i nazive tema sa internetne stranice.
s drugim regularnim izrazom izluci sadrzaj objave te njihove autore. sve to usput dodaj u bazu, tako da ova pod kljucem sadrzi imenik, koji pocinje s parom (ex."Matija Mrak", "Mene samo zanima kako odkodiraš (...)")
iz svega sa trecim regexom odstranite oznake HTML???
se netko snalazi u tom?
Refulgent_Splendour
11.01.2011., 23:49
Za prvi zadatak imaš rješenje gore uz malu modifikaciju: href="([^"]+)">(\w+)</a
Dakle, URI će završit u $1, a text u $2 - pretpostavljam da znaš kaj je to?
Za ostale zadatke trebalo bi više detalja. Anyway, jesi uspio kakav source složit da vidimo kaj ne radi? Jesi istestirao regexe koje smo napisali?
Također, za vađenje podataka iz HTML-a možda je bolje koristiti HTML parser zato jer se sa regexima uvijek može propustiti eventualno važna forma stringa, a i svaka pa i najmanja promjena HTML-a (tipa space, newline, encoding, etc) može značiti kompletan rewrite regexa (nisam jednaput kroz to prošao :))
ronnie7
18.01.2011., 19:29
evo pokusaj klase
class MojRacun:
def __init__(self,pocetno_stanje=0):
self.stanje=pocetno_stanje
def depozit (self, iznos):
self.stanje +=iznos
def povuci (self, iznos):
self.stanje -=iznos
def prekoracenje(self):
return self.stanje <0
moj_racun=racun(15)
moj_racun.povuci(5)
print moj_racun.stanje
javlja ovo: Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
Moj_Racun=racun(15)
NameError: name 'racun' is not defined
kako definirat racun? da zvuci jednostavno (ops) ali ja i python smo na vi:D
Hermenegildo
18.01.2011., 20:26
ako koristimo logiku :
napravim klasu koja se zova MojaKlasa.
želim instancirati tu klasu :
instanca_moje klase = MojaKlasa()
to će reći :
moj_racun = MojRacun(15)
ako si na ti sa pythonun, počni od : http://docs.python.org/release/2.6.6/tutorial/classes.html
ronnie7
18.01.2011., 21:46
hvala. gleda sam taj tutorial i objasnjenja,ali vise mi koristi kad vidim napisan kod. Pokusat cu sad provuc ovaj ispravak kroz shell pa da vidimo jel ide.
edit: nista. Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
class MojRacun:
File "<pyshell#12>", line 3, in MojRacun
moj_racun = MojRacun()
NameError: name 'MojRacun' is not defined
Hermenegildo
18.01.2011., 22:10
class MojRacun:
def __init__(self,pocetno_stanje=0):
self.stanje=pocetno_stanje
def depozit (self, iznos):
self.stanje +=iznos
def povuci (self, iznos):
self.stanje -=iznos
def prekoracenje(self):
return self.stanje <0
moj_racun=MojRacun(15)
moj_racun.povuci(5)
print moj_racun.stanje
Pozdrav !!
Pocetnik sam sto se tice pythona a i programiranja opcenito pa molim ukoliko netko zna da mi rjesi ovaj zadatak, stvarno mi je potrebno.
Zadatak glasi:
Ispisati sve savršene brojeve do upisanog (zadanog) broja.
#Broj je savršen ako je jednak zbroju svih svojih djelitelja, ne uključujući
#samog sebe.
#Npr: 1 + 2 + 3 = 6
Hvala !!
fps_games
11.05.2011., 16:16
Pozdrav !!
Pocetnik sam sto se tice pythona a i programiranja opcenito pa molim ukoliko netko zna da mi rjesi ovaj zadatak, stvarno mi je potrebno.
Zadatak glasi:
Ispisati sve savršene brojeve do upisanog (zadanog) broja.
#Broj je savršen ako je jednak zbroju svih svojih djelitelja, ne uključujući
#samog sebe.
#Npr: 1 + 2 + 3 = 6
Hvala !!
evo u cpp, prevedi
/*
* Potrebno je provjeriti da li je odabrani broj savršen (broj je savršen ako
* je jednak zbroju svih svojih djeljitelja, osim njega samog)
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int n, zbroj = 0;
cin >> n;
for(int i = 1; i < n; i++)
{
if(n%i == 0) zbroj += i;
}
if(n == zbroj) cout << "Savrsen je";
else cout << "Nije savrsen";
getch();
return 0;
}
evo u cpp, prevedi
/*
* Potrebno je provjeriti da li je odabrani broj savršen (broj je savršen ako
* je jednak zbroju svih svojih djeljitelja, osim njega samog)
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int n, zbroj = 0;
cin >> n;
for(int i = 1; i < n; i++)
{
if(n%i == 0) zbroj += i;
}
if(n == zbroj) cout << "Savrsen je";
else cout << "Nije savrsen";
getch();
return 0;
}
Hvala ti, ali ovo mi je stvarno kao da mi je netko dao knjigu na kineskom da mu prevedem, ne razumijem se u programiranje pa ne znam kako to prevest.
fps_games
12.05.2011., 15:39
n = raw_input("unesi broj: ")
zbroj = 0
for i in range(1, n):
if n%i == 0: zbroj += i
if n == zbroj: print "Savrsen je"
else: print "Nije savrsen"
jedino nisam siguran dal poslije else dode dvotocka, ostalo sam poprilicno siguran da je tocno. nisam pokretao
n = raw_input("unesi broj: ")
zbroj = 0
for i in range(1, n):
if n%i == 0: zbroj += i
if n == zbroj: print "Savrsen je"
else: print "Nije savrsen"
jedino nisam siguran dal poslije else dode dvotocka, ostalo sam poprilicno siguran da je tocno. nisam pokretao
Da da, dođe dvotocka iza else, hvala ti puno !!!! :s:s
Euronymous
12.05.2011., 19:56
krivo vam je ovo, zadatak je tražiti SVE savršene brojeve do upisanog broja, a ne ispitivati je li taj neki upisani broj savršen
granica = input("Do kuda zelis ispitivanje: ")
zbroj = 0
for broj in range(1, granica+1):
for djelitelj in range (1,broj):
if broj%djelitelj==0:
zbroj = zbroj + djelitelj
if broj==zbroj:
print broj
zbroj=0
meni nešto sere za raw_input da broj nije integer nego string pa sam stavio input, ti probaj pa vidi kako tebi radi
i da, u onu for petlju sam stavio da ide do granica+1 da uključi i tu granicu jer u pythonu for petlja zadana sa npr range(1, 5) uključuje samo brojeve 1, 2, 3 i 4, dok u for petlju za djelitelje nisam stavio taj +1 zato što ne želim da mi taj zadnji broj bude ispitivan
fps_games
12.05.2011., 21:31
krivo vam je ovo, zadatak je tražiti SVE savršene brojeve do upisanog broja, a ne ispitivati je li taj neki upisani broj savršen
granica = input("Do kuda zelis ispitivanje: ")
zbroj = 0
for broj in range(1, granica+1):
for djelitelj in range (1,broj):
if broj%djelitelj==0:
zbroj = zbroj + djelitelj
if broj==zbroj:
print broj
zbroj=0
meni nešto sere za raw_input da broj nije integer nego string pa sam stavio input, ti probaj pa vidi kako tebi radi
i da, u onu for petlju sam stavio da ide do granica+1 da uključi i tu granicu jer u pythonu for petlja zadana sa npr range(1, 5) uključuje samo brojeve 1, 2, 3 i 4, dok u for petlju za djelitelje nisam stavio taj +1 zato što ne želim da mi taj zadnji broj bude ispitivan
je, ok je. a ovo sam imao vec napisano pa sam samo kopirao, nisam citao detaljno zadatak.
i koristi [php i /php] za obojani kod :mig:
●pOppY●
05.03.2013., 18:13
Pozdrav, imam jedan problem!
Zanima me, može li se ikako znak operatora izvuči iz stringa i služiti kao operator u nekom računu?
imam zadatak upisati broj,operator,broj i da mi na ekranu ispiše rezultat npr:
broj: 2
operator: -
broj: 1
2-1 = 1
mislila sam ovako nešto ali zapnem kod z= ...ideje? :503:
l=[]
s= '+-/*%'
...upis.... uglavnom dobim da je l = ['2','-','1']
z=0
for i in range (len(s)):
if l[1] == s[i]:
z= l(0) ??????? l(2)
else:
i+=1
Na mjesto upitnika bi htjela da se pojavi taj željeni operator koji je otkriven u stringu s... :ne zna:
hvala
MatejScorp13
05.03.2013., 23:43
Možeš koristiti eval funkciju, ali morat ćeš prvo sve podatke iz niza prebaciti u string.
print eval(string)
Ako hoćeš na svoj način bez upotrebe ove funkcije, onda možeš upotrijebiti nekoliko if naredbi za usporedbu šta se nalazi na mjestu [1], pa na osnovu toga dobiti rezultat po formuli posebno za taj uvjet.
bariole
08.03.2013., 00:08
Pozdrav, imam jedan problem!
Zanima me, može li se ikako znak operatora izvuči iz stringa i služiti kao operator u nekom računu?
A gle. Tvoj string implicira neki jezik jer ima semantiku. Dakle treba ti nešto što raščlanuje taj jezik. Ima par načina - redom od složenijem prema jednostavnijem: pisanje parsera, regularni izrazi (samo leksika), te manipulacija stringovima.
Pretpostavljam da je ovo školski zadatka i zadnji način ti je dovoljan. U takvom zadaktku string uvijek izgleda ovako:
broj operator broj =
Gdje za broj dolazi varijabilna dužina znamenki a za operator par predefiniranih znakova, npr + - * / . Sve što ti moraš nači je pozicija operatora u stringu kako bi ga podijelia na podstringova po gornjoj šemi..
primjer = '123+3453='
pozicija = 0
for znak in primjer:
pozicija += 1
if znak in ['+', '-', '*', '/' ]:
break
prvi_broj = int( primjer[0:pozicija] )
operator = primjer[pozicija]
drugi_broj = int( primjer[pozicija+1:] )
... dalje riješi sama
To ok? Sa reg izrazima je to upola kraće, ali ne znam jesi li ih radila..
vBulletin® v3.8.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.