Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Vivo X200 Pro - a kétszázát!
- Mit várunk 2026-ban a mobilpiacon?
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Rugalmas OLED panelre válthat a Samsung Galaxy A57
- iPhone topik
- Azonnali navigációs kérdések órája
- OnePlus 15 - van plusz energia
- Bemutatkozott a Poco X7 és X7 Pro
Új hozzászólás Aktív témák
-
n00n
őstag
válasz
kovisoft
#2014
üzenetére
beraktam egy ilyet:
except Exception as e:
logging.error("Error receiving data: " + e)De valamiét ha megszakítom a klienst ctrl+c-vel, az nem küld semmilyen exception-t, próbáltam Exception helyet socket.error-ral is.
Kliens: az csak tesztelési célzattal készült, a szerveren lenne a fő hangsúly.

-
n00n
őstag
Egyébként a recv-n kívül láttok még valamit a kódban, amit egyáltalán nem így kellene megvalósítani vagy lehetne jobban is, stb?
-
n00n
őstag
válasz
kovisoft
#2005
üzenetére
Utánaolvastam és nem vár 1024 byte-ra. A send() elküldi a küldött byte-ok számát is, így a recv azt is megkapja. Szóval ha kevesebb az nem baj,, de 1024 lehet maximum nálam. Aminél több nem is jöhet nálam.
socket.recv(bufsize[, flags])
Receive data from the socket. The return value is a bytes object representing the data received. The maximum amount of data to be received at once is specified by bufsize.Egyébként működik:
Server:
test@test-machine:~/pyproject python3 server.py
2019-02-27 13:38:47,062 - 192.168.0.2:39620 - Connected
2019-02-27 13:38:52,597 - 192.168.0.2:39620 - Message received: b'Hi\n'
2019-02-27 13:38:53,603 - 192.168.0.2:39620 - Message sent: b'Welcome\n'Client:
test@test-machine:~/pyproject python3 client.py
Hi
Response: b'Welcome\n' -
n00n
őstag
Sziasztok!
Ismerkedek a Pythonnal még csak, de írtam egy egyszerű TCP szervert/klienset. Ránéznétek és elmondanátok, hogy mi a véleményetek róla? Mit csinálnátok másképp? A cél az volt, hogy a szerver folyamatosan figyel a 9999-es porton, a kliens csatlakozik hozzá és onnantól kezdve folyamatos beszélgetés megy, szóval nincs a socket lezárva. Két fajta üzenet jöhet a klienstől:
id|name|message\n
id|name|HEARTBEAT\npl.:
001|client|test_message\n
001|client|HEARTBEAT\nHa az első akkor meghív egy localhostos php szervert a python server, ami visszaad egy választ, egyelőre mindig ugyanazt adja vissza, később a message alapján más lesz.
pl:
001|server|test_response\n
vagy ha HEARTBEAT jön, akkor a server visszaválaszol az id-val:
001|server|HEARTBEAT\n
remélem érthető

Kódok:
server.py:
https://pastebin.com/nBB578TVclient.py:
https://pastebin.com/m52wjz7R -
n00n
őstag
Nem jó így a ciklus. Most, hogy kiíratom a még az all_match-ben maradt meccseket, már látom, hogy azért áll meg, mert nem tud olyan annyi olyan párosítást választani a fordulóhoz, hogy különböző csapatok legyenek.

Pedig annyira nem lehet bonyolult, ez az oldal:
http://www.fixturelist.com/createalist1.phpEgy-két szóból legenerálja a listát. Kár, hogy nem lehet megnézni a forrását. ..

-
n00n
őstag
válasz
Jester01
#127
üzenetére
Kiegészítettem egy break-kel (illetve egy print-el, hogy lássam még mennyi csapat van vissza). Négy csapat esetén gyönyörűen elboldogul, többnél már viszont kiakad. Ötlet?
meccs_per_fordulo = len(teams)/2
fordulok = []
while len(all_match) != 0:
fordulo = []
torlendo = []
for meccsek in all_match:
if meccsek[0] not in fordulo and meccsek[1] not in fordulo:
fordulo.insert(0, ";")
fordulo.insert(0, meccsek[1])
fordulo.insert(0, meccsek[0])
torlendo.insert(0, meccsek)
if len(fordulo) == meccs_per_fordulo * 3:
fordulok.append(fordulo)
#Törlés ciklus:
for delmatch in torlendo:
all_match.remove(delmatch)
print("\n" + str(all_match))
break -
n00n
őstag
válasz
Jester01
#125
üzenetére
De n db csapatra kell megírni, nem pedig csak négyre sajnos.

Próbáltam írni rá egy módszert, de nem akar összejönni.

Az all_match-ben már benne vannak a meccsek. A teams-ben pedig a csapatokmeccs_per_fordulo = len(teams)/2
fordulok = []
while len(all_match) != 0:
fordulo = []
torlendo = []
for meccsek in all_match:
if meccsek[0] not in fordulo and meccsek[1] not in fordulo:
fordulo.insert(0, ";")
fordulo.insert(0, meccsek[1])
fordulo.insert(0, meccsek[0])
torlendo.insert(0, meccsek)
if len(fordulo) == meccs_per_fordulo * 3:
fordulok.append(fordulo)
#Törlés ciklus:
for delmatch in torlendo:
all_match.remove(delmatch) -
n00n
őstag
válasz
cousin333
#123
üzenetére
Köszi szépen. Nagyon egyszerű megoldás.

Viszont ennek a továbbgondolt feladatánál már elakadok.
Szöveg: Van négy (a példa miatt négy, lehet több is, tehát célszerű n db-ra megírni) darab focicsapat, hozzon létre egy tömböt/listát a lehetséges összes meccsről véletlen sorrendben, mely tartalmazza a visszavágókat is.
Eddig úgy meg vagyok.

A példaként vett 4 csapat tehát összesen 12 meccset játszik 6 forduló alatt, fordulónként kettőt. Generáljon egy új listát az elkészült összes meccs listából, mely a fordulókban lejátszott meccseket tartalmazza, fordulónként ; (pontosvesszővel) elválasztva egymástól. Értelemszerűen egy fordulóban egy csapat csak egyszer játszhat. A megértést segítve itt egy példa listarészlet:
fordulok = ([1,3], [4:2], ; , [3,2], [4:1], ; , [1,2], [3,4], ; , ... stb.)
Fogalmam nincs merre induljak. Ötlet?
-
n00n
őstag
Miképpen oldanátok meg ezt a feladatot?
Van n darab emberünk, egy fájlból olvassuk be a nevüket, akik köszönnek egymásnak. Írjon egy programot, ami az alábbihoz hasonló kimenetet generál:
Béla köszönt Tamás nevű ismerősének
Eszter köszönt Béla nevű ismerősének
Béla köszönt Eszter nevű ismerősének
Tamás köszönt Eszter nevű ismerősének
Eszter köszönt Tamás nevű ismerősének
Tamás köszönt Béla nevű ismerőségnekA fájlbeolvasást nem kell megírnia. Tegyük fel, hogy az már csak kész van. Viszont úgy írja meg a programot, hogy a beolvasott adatok változhatnak (egyszer csak két ember, egyszer 10). Mindenki köszönjön mindenkinek, viszont véletlenszerűen.
Adjatok kérlek tanácsot merre álljak neki.

-
n00n
őstag
Kis segítség kellene. A Main Window-n van egy gomb (addButton). Arra rákattintva megjelenik az AddDialog, ahol van kettő gomb (btn_ok és btn_cancel) és egy entry.
Ha az ok-ra kattintok ellenőrzi, hogy ki van-e töltve a mező. Ha nincs hibát ír. Viszont itt van egy kis gubanc. Ugye, ha úgy okézom le az ablakot, hogy nem adok meg a mezőben semmit, akkor hibát dob és nem zárja be az ablakot, így újabb lehetőség van megadni valamit. Viszont ilyenkor is lefut az AddDialog.run() alatti print. Aminek csak akkor kellene lefutnia, ha eltűnik az ablak, tehát van a mezőnek tartalm.Az alábbi kódban, ha úgy kattintok az OK-ra, hogy nem töltöttem ki mindent, akkor mégis miért jelenik meg a terminálban az „Ez az üzenet miért jelenik meg?” üzenet?
Main Window kódrészlet:
def on_addButton_clicked(self, widget, data=None):
AddDialog = AddDialog()
AddDialog.run()
print "Ez az üzenet miért jelenik meg?"AddDialog kódrészlet:
def on_btn_ok_clicked(self, widget, data=None):
#Minden ki van töltve:
if entry.get_text() != "":
name = self.entry.get_text()
self.destroy()
else:
self.hibaCimke.set_text(_("Nincs minden kitöltve!"))
def on_btn_cancel_clicked(self, widget, data=None):
self.destroy() -
n00n
őstag
A combox.get_text() függvény nem kezeli az ékezetes karaktereket. Próbálkoztam unicode()-al, utf8-cal, de semmi. Valakinek ötlet?
-
n00n
őstag
Van egy GtkComboBoxText-em és nem tudok az istenért se rájönni, hogy hogyan tudnék belőle minden elemet törölni. Ötlet?
-
n00n
őstag
Kellene írnom egy kisebb python programot, aminél célszerű lenne adatbázisban tárolni az adatokat. Milyen offline adatbázist javasoltok hozzá? (Lehetőleg multiplatform legyen).
-
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.
)
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Tőzsde és gazdaság
- Debrecen és környéke adok-veszek-beszélgetek
- Képregény topik
- PlayStation 5
- Projektor topic
- Tiltott témává tenné Kína az öngyilkosságot az AI számára
- 3D nyomtatás
- Facebook és Messenger
- További aktív témák...
- Olcsón! LG 34WR55QC-B 100Hz 21:9 UltraWide USB-C PD Machez is! Gari: 2027.áprilisig.
- Liquid Freezer III 360 - használt, garancia: Alza 2031.02.16-ig - ALKUKÉPES.
- Asus Rog Strix G513 144hz Laptop Eladó!
- Mobil LTE hotspot router TP-Link M7200 V4 4G/LTE 150Mb/s,WiFi 2,4GHz 300M
- Four Connect Stage2 2x10mm2 prémium hangfalkábel Nakamichi banándugókkal
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





) programozási nyelvem lesz. Könyvnek Gérard Swinnen : Tanuljunk meg programozni Python nyelvét (magyar fordítás) választottam
)

