Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Hozzászólások

(#151) Siriusb válasza sztanozs (#150) üzenetére


Siriusb
veterán

Kösz a választ. Olyan okos ez a python :), azt hittem, ezt is lehet rövidíteni, de akkor marad a függvény.

Jó, hogy írtad a sorrendben kinyomtatást is. Most vettem elő igazán ezt a nyelvet újra, persze régebben is elég minimális ismereteim voltak vele kapcsolatban... Idáig csak kisebb dolgokra használtam, pl. csv konvertálás xml-be.

Ha már itt vagyok, GUI-nak mit használtok? Tkinter?

(#152) sztanozs válasza Siriusb (#151) üzenetére


sztanozs
veterán

Nem GUI-zok vele, én is csak szövegfeldolgozó, meg network cuccokat írogatok. Ráadásul főleg kijelzővel nem rendelkező cuccra.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#153) p06


p06
senior tag

Sziasztok!

A következő a problémám. Van egy Raspberry Pi-m és egy RGB led-em. Ha jól tudom csak két 2PWM kimenete van, ezért csináltam egy "Szoftveres PWM"-et a sima kimeneti lábakra.

A következő lépés a kitöltési tényezők folyamatos bekérése lenne a programban. Ha jól olvastam akkor tud több szálat futtatni. Vagyis a While ciklus fut folyamatosan ahol a LED vezérlése történik, és kellene még egy folyamatosan futó While vagy hasonló ciklus ahol az adatokat kérem be.

Igazából tegnap este óta foglalkozom pythonnal így nem igazán tudom, hogy kellene. Ha valaki csinált már hasonlót, és csak a vázlatát írná le, hogy is kellene beszúrni a ciklusokat azt megköszönném !!!!

(#154) sztanozs válasza p06 (#153) üzenetére


sztanozs
veterán

Futtasd két külön programban...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#155) Orton96


Orton96
aktív tag

Sziasztok. Most kezdtem el Ubuntut használni és a Linux rendszerekről szóló Full Circle nevű ingyenes netes újság magyar fordításában felkeltette az érdeklődésemet a python programozás. Az első feladat nagyon egyszerű:

"Néhány sornyi kódot fogunk írni egy gedit-féle szövegszerkesztővel, majd pedig megtárgyaljuk, hogy melyik sor mit végez. Gépeljük be a következő négy sort:

#!/usr/bin/env python
print 'Hello. I am a python program.'
name = raw_input("What is your name? ")
print "Hello there, " + name + "!"

Ennyi az egész. Mentsük el hello.py néven valahova. Én talán egy home mappabeli python_peldak nevű mappába tenném. Ez az egyszerű példa már mutatja, hogy mennyire könnyű a kódolás Pythonban. Mielőtt használnánk a programot, előbb futtathatóvá kelltennünk. Ezt a

chmod +x hello.py

parancs begépelésével érhetjük el abban a mappában, ahol a python fájlunk van. Most már elindíthatjuk
a programot.

Hello. I am a python program.
What is your name?
Ferd Burphel
Hello there, Ferd Burphel!
greg@earth:~/python_examples$ "

Akárhogyan is próbáltam, nem sikerül megcsinálni. Soha nem nyitja meg, mindig arra hivatkozik, hogy nem létező fájlt vagy mappát akarok megnyitni...

(a gép 2.7.3-mas python fájlokat ismer fel a terminál szerint)

Valakinek van ötlete?

(#156) Jester01 válasza Orton96 (#155) üzenetére


Jester01
veterán

Valakinek van ötlete?

Igen, az, hogy lehetőleg csak egy topikban tedd fel a kérdésedet :( [link]

Jester

(#157) Siriusb válasza Orton96 (#155) üzenetére


Siriusb
veterán

A terminálban, amikor futtatnád, abban a könyvtárban vagy, ahol a py fájl is található?

(#158) Orton96 válasza Jester01 (#156) üzenetére


Orton96
aktív tag

Gondoltam, hogy ha több helyen kérdezek akkor nagyobb esélyjel kapok választ. De egyébként igazad van, majd máskor nem így csinálom.

A tartalmazó mappába beírom: chmod +x hello.py, aztán a terminálba: greg@earth:~/python_examples$./hello.py

[ Szerkesztve ]

(#159) Siriusb válasza Orton96 (#158) üzenetére


Siriusb
veterán

Csak annyit írj be:
./hello.py vagy
python ./hello.py

amikor ott vagy a könyvtárban!

(#160) Jester01 válasza Orton96 (#158) üzenetére


Jester01
veterán

Másold be a terminálból pontosan mit csináltál és mi lett az eredménye.
Így, ahogy én csináltam:

$ cat >hello.py
#!/usr/bin/python
print 'Hello. I am a python program.'
name = raw_input("What is your name? ")
print "Hello there, " + name + "!"
$ chmod +x hello.py
$ ./hello.py
Hello. I am a python program.
What is your name? Jester
Hello there, Jester!

(a programot a következő sorban ctrl+d-vel zárhatod le)

Jester

(#161) Orton96 válasza Jester01 (#160) üzenetére


Orton96
aktív tag

Most már csak annyit ír ki, hogy:
$: command not found

(#162) sztanozs válasza Orton96 (#161) üzenetére


sztanozs
veterán

/usr/bin/python <= ez létezik?

Vazz - $ jel nem kell a parancs elé, az csak a normál felhasználói shell jelzője...

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#163) Orton96 válasza Jester01 (#160) üzenetére


Orton96
aktív tag

Hát akkor feladom Ubuntun... Majd Windózon biztos megy. :)

Mindenesetre mindenkinek köszönöm a segítségét! :R

(#164) Jester01 válasza Orton96 (#163) üzenetére


Jester01
veterán

Legalább azt megtehetted volna amire kértelek, ti. hogy bemásolod (felőlem akár screenshot is lehet), hogy mit csináltál.

Jester

(#165) Siriusb válasza Jester01 (#164) üzenetére


Siriusb
veterán

Attól félek, win alatt sem fog menni neki, de ne legyen igazam. Valószínűleg sok volt az újdonság is egyszerre, linux is, terminál is, python is...

(#166) Orton96 válasza Jester01 (#164) üzenetére


Orton96
aktív tag

Megcsináltam azt is, de egyszerűen sehogy sem akar működni. :(

#Siriusb: Ja, szerintem is. :) Máshogy próbálkozok, ebből a könyvből igyekszem megtanulni a Pythont. :)

Egyenlőre köszönöm nektek az eddigi segítséget, biztosan visszatérek még majd ide. ;) :R

[ Szerkesztve ]

(#167) Jester01 válasza Orton96 (#166) üzenetére


Jester01
veterán

Én csak azt kértem, hogy másold be ide mit csináltál, hogy megmondhassuk mi nem jó.

Jester

(#168) Orton96 válasza Jester01 (#167) üzenetére


Orton96
aktív tag

Mindent megcsináltam úgy, ahogy írtad, de már leírtam ide: [link]

(#169) Siriusb válasza Orton96 (#166) üzenetére


Siriusb
veterán

Még egyszer nekifutok, hátha. Egy az egybe kimásolva a terminálból. Elöljáróban:
1) ~/tmp az a /home partíciómon levő könyvtár rövid útvonala. Abszolút útvonal: /home/siriusb/tmp Bármely, neked tetsző könyvtárban lehetsz, ez csak egy példa.
2) siriusb @arch ~/tmp $ Ezt soha nem kell begépelni ez a bash prompt, kifejtve: bejelentkezett felhasználó + @ host név + útvonal + és végül egy karakter ($), ami jelzi, hogy innentől kezdve jön az, amit én, mint felhasználó írok be (értsd: parancs)

Lássuk a terminált:
siriusb @arch ~/tmp $ echo -e 'print "Hello. I am a python program."\nname = raw_input("What is your name? ")\nprint "Hello there, " + name + "!"' > hello.py
siriusb @arch ~/tmp $ python hello.py
Hello. I am a python program.
What is your name? alfa
Hello there, alfa!
siriusb @arch ~/tmp $ python
Python 2.7.3 (default, Dec 22 2012, 21:14:12)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Vastaggal kiemelve, amit valóban be kell gépelned!

Szintaxis kiemeléssel, persze nem az igazi.

Ha kiadod a python parancsot, akkor egy interaktív felületre jutsz, ahol a >>> jel után tudod kiadni az utasításokat, pl. 5 + 5

siriusb @arch ~/tmp $ python
Python 2.7.3 (default, Dec 22 2012, 21:14:12)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 5+5
10
>>>

Egyébként, amennyiben nincs különösebb okod rá, szvsz érdemesebb lenne a python3-at tanulni. Ha megy az angol: [link]

Szerk:
(#168) Orton96
Ezt most a python írta ki? Mert akkor az a baj, amit gyanítottunk, hogy olyan dolgokat is beírsz a py fájlba, amit nem kellene.

[ Szerkesztve ]

(#170) Siriusb válasza Siriusb (#169) üzenetére


Siriusb
veterán

Helyesbítek, ne gépeld, hanem másold a vastagon szedett részt. :)
Terminálban a beillesztés ctrl+shift+v, vagy egér jobb klikk és kiválasztod a beillesztés menüpontot.

(#171) Orton96 válasza Siriusb (#169) üzenetére


Orton96
aktív tag

Egyszerűen zseniális! Elsőre működött! :R
Köszönöm a segítségedet. Lehet, hogy a link szerint tényleg érdemesebb lenne Python3-mat tanulni, majd valahogy biztosan elleszek az angollal is.

:R

(#172) Siriusb válasza Orton96 (#171) üzenetére


Siriusb
veterán

Szívesen. Remélem sikerült kihámoznod azt is, mit rontottál el előzőleg, ami a jövőbeni linux használat miatt fontos lehet.

(#173) aAron_


aAron_
őstag

üdv!

for ciklusok, while loop-ok, if statement-ek elejét végét nem lehet valahogy jelölni? kicsit bonyolultabb programnál számomra már kezd átláthatatlanná válni

egyébként maga a fordító is honnan látja, hogy melyiknek mikor van vége? C után elég furcsa számomra

What is your ikigai?

(#174) sztanozs válasza aAron_ (#173) üzenetére


sztanozs
veterán

Az indent határozza meg a scope-ot.
Kösnnyen átlátható, csak kell egy kis idő, mire az ember szeme rááll. Utána viszont egyértelmű.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#175) raggg válasza aAron_ (#173) üzenetére


raggg
senior tag

Egy jó editor jelzi az indentet és áttekinthető marad (pl. sublime text, de más is jó lehet). A fordító meg pont azért látja, mert kötelező indent van, nem pedig bajusz ( curly braces - { } ).

ragklaatPS

(#176) aAron_


aAron_
őstag

értem, köszönöm :R

What is your ikigai?

(#177) aAron_


aAron_
őstag

i=0.1

S=0
while S<=1:
E=0
while E<=1:
M=0
while M<=1:
O=0
while O<=1:
T=0
while T<=1:
if S+E+M+O+T == 1:
s1=S
e1=E
m1=M
o1=O
t1=T
T+=i
O+=i
M+=i
E+=i
S+=i

hogy lehetséges, hogy az eredmény s1 = 0.8; e1 = 0.2
az én logikám szerint s1 = 1.0; többi = 0 lenne a helyes

ha kérhetem valaki vessen rá egy pillantást, sehogy sem jövök rá :((

[ Szerkesztve ]

What is your ikigai?

(#178) cucka válasza aAron_ (#177) üzenetére


cucka
addikt

Mivel lebegőpontos számokkal dolgozol, a
if S+E+M+O+T == 1:
sorod nem úgy fog működni, ahogy azt elképzeled. Használj fixpontos értékeket (kulcsszó: decimal). Amúgy mi értelme ennek a programnak?

Amúgy kipróbáltam, a kérdéses belső if feltétele 851 alkalommal fog teljesülni a program futása közben, az s1, e1, stb. értékei minden esetben különbözőek, csak ugye minden alkalommal felül is írod a korábbi értékeket.

[ Szerkesztve ]

(#179) aAron_ válasza cucka (#178) üzenetére


aAron_
őstag

természetesen ennek a programnak sok értelme így nincsen, csomó mindent kiszedtem belőle, hogy jobban átlátható legyen, ill még nincs optimalizálva sem

köszönöm a válaszod

What is your ikigai?

(#180) Siriusb


Siriusb
veterán

Python 3-hoz milyen GUI-t ajánlanátok? Feltételek: céges szoftverhez kell, Linux és Windows alatt.

Utóbbi napokban elkezdtem beleásni magam a PyGobject/Gtk+ 3-ba és csak most kezdtem realizálni, hogy ez nincs Windowsra.
Egyelőre a PySide-t találtam, habár nem vagyok egy QT fan. Tkinter annyira nem jön be, különösen a Gtk3 -hoz hasonlítva.

(#181) sonar


sonar
addikt

Sziasztok,

Egy ideje már barátkozom a Pythonnal (2.5 - 2.7), mivel munkához kell.
Használtok IDE-t vagy valami debuggert?
Én többnyire csak Geany-t (ubuntu) illetve Notepad++(win) használok. De abban se vagyok biztos, hogy minden funkciót ismerek.
Ha esetleg valaki tud jobbat szivesen meghallgatnám.

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

(#182) Siriusb válasza sonar (#181) üzenetére


Siriusb
veterán

Geany-t én is imádom, különösen amikor nem akarok megnyitni egy IDE-t.
Pythonhoz az Eclipse-t használom PyDev pluginnal.

(#183) sonar válasza Siriusb (#182) üzenetére


sonar
addikt

Geany a sima kiegészítésen kívül tud még vmi extrát?

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

(#184) Siriusb válasza sonar (#183) üzenetére


Siriusb
veterán

Amit a pluginok tudnak.

(#185) cousin333 válasza sonar (#181) üzenetére


cousin333
addikt

Esetleg próbáld ki a Spyder-t. Van Linuxra és WIndowsra is.
Én csomagban tettem fel, de elvileg magában is elvan.

[ Szerkesztve ]

"We spared no expense"

(#186) sonar


sonar
addikt

Sziasztok,

Meg lehet csinálni a non grafikus verzióban, hogy input mezőket, gombokat hozok létre?
Amolyan régi DOS féle programot?

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

(#187) Siriusb


Siriusb
veterán

Nem tudok rájönni, hogy a tix labelentry-nél hogy tudom konfigolni a subwidgeteket (label és entry). Valami ötlet, miként hivatkozhatok rájuk?

(#188) xxSanchez


xxSanchez
őstag

Sziasztok!

Valakinek esetleg nincs tippje arra, hogy hogyan kéne ellenőriznem, hogy a mappában található-e .dll vagy akármilyen általam megadott kiterjesztésű fájl? Eddig eljutottam:

if not os.path.exists('teszt.dll'):
// nincs itt
else:
//itt van

Itt ellenőrzi, hogy van-e teszt.dll és jól is működik a kód, csak nekem az kéne, hogy a kiterjesztést nézze. Tehát ha találna .dll kiterjesztésű fájlt a mappában akkor szólna.

Előre is köszi!

[ Szerkesztve ]

Heyho.

(#189) sonar válasza xxSanchez (#188) üzenetére


sonar
addikt

Nekem ez jutott eszembe:
import os
import glob

x=glob.glob('c:\\Python25\\*.py')
if len(x)>0:
print "van"
else:
print "nincs"

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

(#190) Siriusb


Siriusb
veterán

Stackoverflow-n találtam ezt a példát:
qmarks = ', '.join('?' * len(myDict))
qry = "Insert Into Table (%s) Values (%s)" % (qmarks, qmarks)
cursor.execute(qry, myDict.keys() + myDict.values())

Az utolsó sorban a paraméterek megadásánál lévő plusz jel kiveri a biztosítékot (unsupported operand). Ennek működnie kellene?

(#191) sonar válasza Siriusb (#190) üzenetére


sonar
addikt

Mire jó az a dict key?
Bocs a lámaságért. Próbáltam googlizni, de nem teljesen világos számomra

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

(#192) xxSanchez válasza sonar (#189) üzenetére


xxSanchez
őstag

Köszi! :R

Heyho.

(#193) Siriusb válasza sonar (#191) üzenetére


Siriusb
veterán

Dictionary-ben lévő adatokból kell kellene egy adatbázisba beszúrást megvalósítani, az oszlopok neve a key, az értékek pedig a value.
Jelenleg úgy tudtam csak megoldani, hogy az előkészítéskor már beteszem az oszlopok neveit az sql statement-be.

(#194) n0rbert0


n0rbert0
senior tag

Sziasztok!

Egy üzenetet szeretnék fogadni raspberry-ről ezen az oldalon található, első módszerrel.

Amikor lefordítanám a programot, akkor az alábbi hibaüzenetet kapom:

Peer-to-peer van kötve a két eszköz, tehát közvetlenül ethernet kábellel van csatlakoztatva.

import socket

UDP_IP = "10.10.10.9"
UDP_PORT = 27050

sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
print("received message:", data)

Valaki tudna segíteni?

(#195) Siriusb válasza n0rbert0 (#194) üzenetére


Siriusb
veterán

Ugye az eredeti formázást megőrizted, nem úgy próbálod futtatni, ahogy be van másolva?

Ha igen, biztos jó IP címet adtál meg?

(#196) n0rbert0 válasza Siriusb (#195) üzenetére


n0rbert0
senior tag

Persze.
Az IP tuti jó. A porttal lesz valami gondja csak nem tudok rájönni, hogy mi.
Viszont localhost-on megy. Valami olyasmit olvastam, hogy engedélyezni kellene az adott portot a routerben, de sajnos ezt nem tudom megoldani, mert nincs router...

(#197) Siriusb válasza n0rbert0 (#196) üzenetére


Siriusb
veterán

Ha valóban az a hiba, amit ír, akkor pedig nem jó az IP cím.
A tűzfaladon meg tudod nyitni a portot?
Pingelni tudod az eszközt?

(#198) n0rbert0 válasza Siriusb (#197) üzenetére


n0rbert0
senior tag

Az IP jó, mert pingelés működik.
Minden UDP port engedélyezve van a Tűzfalban, sőt ki van kapcsolva a tűzfal.

(#199) n0rbert0 válasza n0rbert0 (#198) üzenetére


n0rbert0
senior tag

Elég érdekesen működik ez a windows tűzfal, mert amikor a raspberry-ben pingelem a gépet és a windowsban nincs kikapcsolva a tűzfal, akkor nem küldi az adatokat. Amint kikapcsolom a tűzfalat, akkor elindulnak a 0-ák és 1-esek.
Ez azért érdekes, mert a raspberry IP-címéről MINDENT engedélyezek...
És az ip biztosan jó, többször ellenőriztem.

[ Szerkesztve ]

(#200) n0rbert0 válasza n0rbert0 (#199) üzenetére


n0rbert0
senior tag

Sikerült megoldani, de nem úgy ahogy szerettem volna.
A számítógépen a kliens java-ban van írva a server a rasberry-n meg pythonban.
Így működik... :)

Copyright © 2000-2024 PROHARDVER Informatikai Kft.