Hirdetés
- Visszatérnek a Samsung tervezte CPU-magok és GPU az Exynos 2800-ban?
- Apple iPhone 11 - népalma
- Minden a BlackBerry telefonokról és rendszerről
- Mobil flották
- Okosóra és okoskiegészítő topik
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Eddigi legjobb DxOMark helyezésével zárta 2025-öt a Vivo
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen okostelefont vegyek?
- Aranyozott különkiadást kapott a Red Magic 11 Pro+
Új hozzászólás Aktív témák
-
-
-
SzVFE1
csendes tag
válasz
kovisoft
#3396
üzenetére
Annyi a gáz, hogy így is alig találtam meg azt a child window-t, amivel kontrollálni tudom a MobaXterm-et. Végül kiderült, hogy ezek control_type="Tab" és control_type="Pane" tulajdonságokkal szerepelnek. Sajnos a control_type="Pane" -ek sem szűkítik le tab-ra, csak ablakra a célt, ezért elégnek találtam a control_type="Tab" -ot használni. Az ablakba írás működik is vele tökéletesen. A másik ok pedig az volt, hogy a control_type="Tab" -ból szerencsére egyetlen létezik, míg control_type="Pane" -ből több, ezért tovább kellene szűkíteni auto_id alapján, ami folyamatosan változik, egyszer használható, így ez lehetetlen küldetésnek tűnik. Bemásolom ide alább a fa struktúra vonatkozó részét, az alapján esetleg lenne ötlet, hogy hogyan változtassam?
Még egy kérdés, a textEditor az egy objektum, nem egy tetszőleges névvel megadható változó?
| | | child_window(auto_id="132416", control_type="Tab")
| | | |
| | | | Pane - '' (L52, T177, R356, B2066)
| | | | ['Pane8']
| | | | child_window(auto_id="197962", control_type="Pane")
| | | | |
| | | | | Pane - '' (L52, T2013, R356, B2066)
| | | | | ['Pane9']
| | | | | child_window(auto_id="67182", control_type="Pane")
| | | | | |
| | | | | | CheckBox - ' Follow terminal folder' (L78, T2013, R356, B2066)
| | | | | | ['CheckBox', ' Follow terminal folder', ' Follow terminal folderCheckBox']
| | | | | | child_window(title=" Follow terminal folder", auto_id="67184", control_type="CheckBox")
| | | | |
| | | | | Pane - '' (L52, T177, R356, B216)
| | | | | ['Pane10']
| | | | | child_window(auto_id="67180", control_type="Pane")
| | | | |
| | | | | ListBox - '' (L52, T249, R356, B1961)
| | | | | ['ListBox', 'ListBox0', 'ListBox1']
| | | | | child_window(auto_id="132696", control_type="List")
| | | | | |
| | | | | | Header - 'Fejlécellenőrzés' (L52, T249, R356, B274)
| | | | | | ['Fejlécellenőrzés', 'Header', 'FejlécellenőrzésHeader']
| | | | | | child_window(title="Fejlécellenőrzés", auto_id="Header", control_type="Header")
| | | | | | |
| | | | | | | HeaderItem - 'Name' (L52, T249, R536, B274)
| | | | | | | ['NameHeaderItem', 'HeaderItem', 'Name', 'HeaderItem0', 'HeaderItem1']
| | | | | | | child_window(title="Name", auto_id="HeaderItem 0", control_type="HeaderItem")
| | | | | | |
| | | | | | | HeaderItem - 'Size (KB)' (L0, T0, R0, B0)
| | | | | | | ['HeaderItem2', 'Size (KB)', 'Size (KB)HeaderItem']
| | | | | | | child_window(title="Size (KB)", auto_id="HeaderItem 1", control_type="HeaderItem")
| | | | | | |
| | | | | | | HeaderItem - 'Last modified' (L0, T0, R0, B0)
| | | | | | | ['HeaderItem3', 'Last modifiedHeaderItem', 'Last modified']
| | | | | | | child_window(title="Last modified", auto_id="HeaderItem 2", control_type="HeaderItem")
| | | | | | |
| | | | | | | HeaderItem - 'Owner' (L0, T0, R0, B0)
| | | | | | | ['HeaderItem4', 'OwnerHeaderItem', 'Owner']
| | | | | | | child_window(title="Owner", auto_id="HeaderItem 3", control_type="HeaderItem")
| | | | | | |
| | | | | | | HeaderItem - 'Group' (L0, T0, R0, B0)
| | | | | | | ['Group', 'HeaderItem5', 'GroupHeaderItem']
| | | | | | | child_window(title="Group", auto_id="HeaderItem 4", control_type="HeaderItem")
| | | | | | |
| | | | | | | HeaderItem - 'Access' (L0, T0, R0, B0)
| | | | | | | ['AccessHeaderItem', 'HeaderItem6', 'Access']
| | | | | | | child_window(title="Access", auto_id="HeaderItem 5", control_type="HeaderItem")
| | | | | |
| | | | | | ScrollBar - 'Vízszintes' (L52, T1935, R356, B1961)
| | | | | | ['Vízszintes', 'VízszintesScrollBar', 'ScrollBar', 'ScrollBar0', 'ScrollBar1']
| | | | | | child_window(title="Vízszintes", auto_id="NonClientHorizontalScrollBar", control_type="ScrollBar")
| | | | | | |
| | | | | | | Button - 'Egy oszloppal balra' (L52, T1935, R78, B1961)
| | | | | | | ['Egy oszloppal balra', 'Egy oszloppal balraButton', 'Button', 'Button0', 'Button1']
| | | | | | | child_window(title="Egy oszloppal balra", auto_id="UpButton", control_type="Button")
| | | | | | |
| | | | | | | Thumb - 'Elhelyezés' (L78, T1935, R126, B1961)
| | | | | | | ['Thumb', 'Elhelyezés', 'ElhelyezésThumb']
| | | | | | | child_window(title="Elhelyezés", auto_id="ScrollbarThumb", control_type="Thumb")
| | | | | | |
| | | | | | | Button - 'Egy oldallal jobbra' (L126, T1935, R330, B1961)
| | | | | | | ['Button2', 'Egy oldallal jobbra', 'Egy oldallal jobbraButton']
| | | | | | | child_window(title="Egy oldallal jobbra", auto_id="DownPageButton", control_type="Button")
| | | | | | |
| | | | | | | Button - 'Egy oszloppal jobbra' (L330, T1935, R356, B1961)
| | | | | | | ['Egy oszloppal jobbraButton', 'Egy oszloppal jobbra', 'Button3']
| | | | | | | child_window(title="Egy oszloppal jobbra", auto_id="DownButton", control_type="Button")
| | | | | |
| | | | | | ListItem - '..' (L52, T274, R1649, B307)
| | | | | | ['ListItem', '..ListItem', '..']
| | | | | | child_window(title="..", control_type="ListItem")
| | | | |
| | | | | Edit - '' (L52, T216, R356, B249)
| | | | | ['Edit2']
| | | | | child_window(auto_id="66952", control_type="Edit")
| | | |
| | | | TabItem - '' (L2, T175, R50, B229)
| | | | ['TabItem', 'TabItem0', 'TabItem1']
| | | |
| | | | TabItem - '' (L2, T229, R50, B283)
| | | | ['TabItem2']
| | | |
| | | | TabItem - '' (L2, T283, R50, B337)
| | | | ['TabItem3']
| | | |
| | | | TabItem - '' (L2, T337, R50, B391)
| | | | ['TabItem4'] -
kovisoft
őstag
A control_type="Tab" egy TabControl-t választ ki, mutatja is a hibaüzenet, hogy egy TabControlWrapper objektumról van szó. Mint ahogy írták előttem, ennek nincs Edit attribútuma.
Szerintem a tab-nak az edit controlját kellene megkeresni, ami tippre a tab-nak valami childja lehet, de nem ismerem az applikációt. És gondolom control_type="Edit" kellene az EditWrapper lekéréséhez, annak lesz majd Edit attribútuma.
-
-
SzVFE1
csendes tag
Üdv, kezdőként lenne tanácsra szükségem, de gondolom a kérdésből ez fel fog tűnni. MobaXterm app-ban szeretnék műveleteket automatizálni és úgy olvastam, hogy erre a pyWinauto a legalkalmasabb. A MobaXterm -et arra használom, hogy egyszerre indítsak ssh command terminálokat különböző IP-k felé. Az egyes terminálok külön tab-okon jelennek meg a MobaXterm felületén. Azt már elértem, hogy parancsokat tudjak küldeni a terminálokba és váltogatni is tudok a terminálok között, ha CTRL+TAB-ot küldök az ablakba. Következő lépésként azt szeretném elérni, hogy a kód magától felismerje, hogy éppen melyik tab-ban dolgozik a terminálban lévő prompt alapján. Ott akadtam el, hogy kiolvasni sem tudom a prompt-ot, ezt get_line-al próbáltam. Az alábbi módon próbálkoztam:
from pywinauto.application import Application
app = Application(backend='uia').start('"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe"').connect(title='val',timeout=100)
textEditor = app.val.child_window(control_type="Tab").wrapper_object()
print(textEditor.Edit.get_line(0))
textEditor.type_keys("^{TAB 2}")
textEditor.type_keys("test",with_spaces = True)
De az alábbi hibaüzenetet kaptam:print(textEditor.Edit.get_line(0))
AttributeError: 'TabControlWrapper' object has no attribute 'Edit'Tudna segíteni valaki, hogy mit rontottam el?
-
Luxoros
lelkes újonc
Hurrá! Köszönöm!
Szívesen megosztom a teljes programot amihez kértem a segítséget, ha van rá igény.
Az volt az elgondolásom, hogy készítek egy grafikus felületet amely három bekért adatból (oldalhossz) rajzol egy háromszöget. Nehézséget a kör egyenletével való megoldás jelentette https://matekarcok.hu/a-kor-egyenlete/ Ezzel gyakorlatilag kész. -
Luxoros
lelkes újonc
Köszönöm!
Hogyan vegyem rá a Pythont, hogy az osztást elvégezze?
eredmeny = sp.solve(-99 * 2 * x + 99 * 99 + 57*57 - 77*77)
print(eredmeny)
a = eredmeny[0]
print(a)
# 7121/198 -
Luxoros
lelkes újonc
Már majdnem kész vagyok a programommal, amikor is elakadtam egy matematikai kód részlettel. Állítólag a Python nagyon jó a matekban?!
Tehát van e megoldás arra, hogy a papíron kiszámolt egyenletet a Python megcsinálja helyettem? Íme egy próbálkozás kódja:import sympy as sp
x = sp.symbols("x")
# -c * 2 * x + c * c + b * b - a * a = 0
# -u * 2 * x + u * u + v * v - r * r = 0
print(-99 * 2 * x + 99 * 99 + 57*57 - 77*77)
# 7121 - 198*x = 0 /-7121
# −198x = 7121 /−198
# x = -7121 / -198
# x = 7121/198
# x = ≈35.964646465Mint minden más próbálkozás, ez is csak félig oldja meg a feladatot! Nekem a végeredmény a lebegőpontos szám kellene! Van e kód, függvény, metódus, valami? Windows 10 64bit, PyCharm, Python 3.9 -el dolgozom.
-
Luxoros
lelkes újonc
A ciklusba célszerű az ellenőrzéshez beírni: print(i) így nyomon követhető.
-
Phobion
addikt
Sziasztok,
Tudna valaki abban segíteni, hogy az alábbi sorokban a
given_list[i]pontosan mit takar? Azt a részét nem értem.
given_list = [5, 4, 4, 3, 2, 10]total3 = 0i = 0while i < len(given_list) and given_list[i] > 0:total3 += given_list[i]i += 1print(total3) -
apezka
aktív tag
E-papír volt "készleten", kijelző pedig nem. De ahogy mondtam nem az eszköz a lényeg, hanem hogy mikor jelenítsen meg és mikor nem.
Az RFID nem rossz ötlet, csak a hatótáv lehet az érdekes. Nem tudom az antenna méret mennyire lenne probléma, mert jó lenne az egészet egy ikea-s képkeretbe bele paszírozni...
A közelség érzékelővel szemben ez nem minden dologra "kapcsolna". Kösz a tippet. -
Az a gond az autoconecthtel, hogy az eszköznek (RPi) csatlakoztatható típusúnak kell lennie (pl hangszóró), és ha csatlakozik, akkor az eszköz azt használni is fogja. Ezért én nem tartanám ez egy jó megoldásnak.
Vsz valami alternatívát kellene találni (pl közelségérzékelő), vagy valami más szenzor. -
apezka
aktív tag
válasz
sztanozs
#3375
üzenetére
szantozs (#3375), cousin333 (#3376):
Maga az e-paper irodai környezetben lesz elhelyezve, ezért (lehet) lényeges, hogy ha nincs ott senik, akire a tartalom tartozik akkor ne jelenjen meg semmi. A tartalom nem személytől, hanem személyektől függ és nem az amit meg kell jeleníteni, hanem hogy megjelenjen-e vagy sem.
Autoconnectelni egy előre megadott készülék lista bármelyik elemére kell, telefon(ok) BT address-ekre az rPi-vel, amire a kijelző kötve van. Nyilván a készülékeket először párosítani kell az rPi-vel, hogy később működjön az autoconnect.
Ez a jelenlegi állapot: video
A főkérdés, amire még nem találtam választ, hogy azt hogyan tudom ellnőrizni, hogy a BT kapcsolat létre jött-e és él-e még? Mert ha ez megvan akkor "készen" vagyok.
Tisztában vagyok vele, hogy a megjelenítés/frissítés/törlés energia igényes, de én ettől eltudok tekinteni. Viszont az fontosabb, hogy nem kell mindenkinek tudnia, hogy az adott csapat hol is van, ha senki nincs az irodában, hiszen nem véletlenül nincsenek ott. A cél jelen esetben nem a fogyasztás csökkentése. -
cousin333
addikt
"Ötletként felmerült, hogy csak akkor jelenjen meg tartalom ha azt valaki valóban látja is"
Ha a megjelenített tartalom nem függ a közelben lévő személytől, akkor ennek mi értelme van? Az e-paper nem fogyaszt semmit, csak ha éppen képet változtatsz rajta. A törléssel, visszakapcsolással csak energiát égetsz el.
Egy esetet tudok, amikor jó lehet a közelség érzékelés: nem frissíteni a képet, ha nincs, aki lássa...
Sajnos a konkrét rPi + Bluetooth kérdésben nincs tapasztalatom.
-
Mármint mi autoconnecteljen mire?
Amúgy az e-paper-ben pont az a jó, hogy kijelzés közben minimális fogyasztása van, csak a változtatáskor fogyaszt jelentősebben. Ez alapján a ki-be kapcsolgatás nem biztos, hogy jó ötlet, lehet, hogy érdemes volna csak bekapcsolva hagyni. -
apezka
aktív tag
Próbálok egy ePaper-re naptárt és esemény listát varázsolni egy rPi-n, mind ezt python-ban. Ötletként felmerült, hogy csak akkor jelenjen meg tartalom ha azt valaki valóban látja is (közelében van). Erre az volt a gondolat, hogy ellenőrzöm a közölben lévő bluetooth eszközöket és ha adott eszköz (telefon) a közelben van akkor megjelenítem a tartalmat a kijelzőn ellenkező esetben törlöm a tartalmát. Minden szép és jó, ha a telefon kereshető,mint blutooth eszköz, akkor megjelenik a tartalom az ePaper-en. Viszont a telefon (android) csak akkor elérhető/kereshető, ha éppen engedélyezve van, hogy kereshető legyen, azaz éppen a telefon is elérhető blutooth eszközt keres és meg van nyitva a bluetooth keresés (Beállítások > Bluetooth menü).
Nyilván ha nem kereshető az eszköz akkor nem fog megjelenni az elérhető eszközök között és a telefon root-olása sem opció. Így maradt az auto connect megvalósítása. Viszont erre nem találtam megoldást, sajnos. Van ötletetek, hogy hogyan lehetne python-nal megoldani az automatikus bluetooth csatlakozást és a csatlakozás állapotának ellenőrzését?
Előre is köszönöm! -
-
Gyuri27
félisten
Írjon Python programot homerseklet.py néven. A program kérjen be hőmérséklet értékeket celsius fokban, és ezeket számítsa át fahrenheit fokra. Az átszámítás elvégzésére készítsen egy függvényt, amely bemenő paraméterként megkapja a hőmérsékletet celsius fokban, kiszámítja ennek értékét fahrenheit-ben és ezzel az értékkel visszatér. A bekérés addig folytatódjon, amíg a hőmérsékletnek -111 értéket nem adnak meg.
(Átváltási képlet: ℉= ℃*1,8+32)def hőmérséklet(c, f, a):
return ((c * f) + 32)c = int(input('Adja meg a hőmérsékleti értéket '))
f = 1.8
a = 32print(hőmérséklet(c, f, a))
Az alap kiszámolása nem nehéz (még nekem se).
De valahogy bele kellene gyömöszölni egy ciklust.Azt viszont nem tudom. Ebben kellene segitség.
Ha lehetne, hogy ne valami bonyolult megoldás legyen azt megköszönném szépen. -
olivera88
veterán
válasz
olivera88
#3369
üzenetére
Megoldottam végül még akkor éjjel.
Telepítettem a Pyton 3.7 et egy másik env be. Majd ott telepítettem a programcsomagot, és hozzá szükséges Python intefészt is sikerült telepíteni utánna. Tehát a 3.7 es Python kell neki.
Remélhetőleg változni fog majd valamikor és az újabb Python verziókkal is menni fog?
Köszönet Sztanozs-nak is
, ha ő nem mondja hogy számíthat a Python verzió akkor lehet nem jöttem volna rá még mostanra se. -
olivera88
veterán
válasz
cousin333
#3368
üzenetére
Újra telepítettem közbe. Hát most ott tartok ismét h nem tudom feltepíteni a program legújabb verzióját, bezzeg a régebbi verziót azt meg feltudná telepíteni, azzal nem mutat konflikust, de ha megadom melyik verziót telepítse, ez a legújabb ugye, arra meg konfliktus problémát ír. Írtam tegnap ugye hogy miután telepítettem a Python 3.6 ot akkor sikerült telepíteni a programot, viszont akkor meg hozzá szükséges Python interfészt nem tudtam, a konfliktusok miatt. Na már most úgy veszem ki akkor h tényleg Python verziókkal lehet a gond.
Ma olvastam h külön környezetbe kell telepíteni ha másik Python verziót akarok, (tegnap nem így tettem) így, conda create -n py39 python=3.9 anaconda.
Tehát ha így feltelepítek egy régebbi verziót, akkor honnét tudja az a másik program amit akarok telepíteni hogy rendelkezésre áll másik Pyton verzió is, és azt használja? -
olivera88
veterán
válasz
olivera88
#3364
üzenetére
Hát nem oldotta. Radikális megoldáshoz folyamodtam, conda remove python. Majd utánna Python 3.6 feltelepít.
Ez meg is oldotta problémát, települt a program. Viszont kell még hozzá egy Python interfész, ami nem része a programnak, hogy tudja értelmezni a Pythonban írt scripteket. Na és most ezt nem tudtam telepítieni a konflikus miatt.
Előtte ezzel se volt semmi ilyen probléma.
Na most jó gyorsan meg is kereste mivel van konfliktusban, zstd -> libgcc-ng[version='>=9.3.0'] -> __glibc[version='>=2.17']Your installed version is: 2.31
Ezt írja a végén
A glibc ez ha jól értelmeztem.De nem tudom mi ez glibc , a cond-list kimenet nem is mutat ilyen csomagot h telepítve van, egyedül csak simán glib van telepítve.
Na most szerintem az lesz hogy az Anaconda-t fogom újra húzni és tiszta lappal indulok.

-
-
olivera88
veterán
válasz
sztanozs
#3357
üzenetére
Tegnap este észre vettem h nem távolitott el minden függőséget/komponenst az elöző verzióbol, eltávolítottam, ma megprobáltam újra telepitést , és megint csak found conflicst lett.
Hát külön egy komponens volt frissitve mikor még program elöző verziója volt telepítve , pont ez amit emlittem h nem távolitotta el, de többi nem.
Ja és lett Python is frissitve 3.7 röl asszem, 3.8. Nem tudom az számít e esetleg. -
válasz
Hege1234
#3358
üzenetére
filter kell neked:
file = open("characters.txt")
lines = [*filter(lambda line:len(line)<=150, file.readlines())]
characters = lines[0]ha nem kell, hogy indexelhető legyen hanem elég az iterátor, akkor nem kell listává alakítás:
file = open("characters.txt")
for line in filter(lambda line:len(line)<=150, file.readlines()):
# művelet
characters = line -
Hege1234
addikt
hogyan lehetne azt megoldani, ha egy txt-ben
több karakter van egy sorban mint 150 akkor ne foglalkozzon vele hanem adja be a következőt ami kisebb mint 150 karakter?file = open("characters.txt")
lines = file.readlines()
characters = lines[0]általában a txt fájlban a sorok így szoktak előfordulni
1.
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==
ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAc2.
AcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAC4nBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAsLCAgAAAQABALgCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA
ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAAAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADw
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==3. (ez így persze a legjobb mert itt az első sor kisebb mint 150 karater)
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAC4nBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAsLCAgAAAQABALgCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA -
válasz
olivera88
#3356
üzenetére
Gondolom valamelyik újabb verziójú komponensnek a requirementjei között újabb verziójú alkomponens kell (min version 1.x), míg egy másiknak meg ugyanabból kikényszerítve egy régebbi (max version 1.y - ahol 1.y < 1.x).
Keresd meg melyik komponenst frissítetted és próbálj ki kikényszeríteni egy régebbi verziót belőle.
-
olivera88
veterán
Anacondában otthon van valaki itt?
Az Anaconda found conflicts ellen van orvosság? Eltávolitottam az adott program elöző verzóját, még is feljött ez a found conflict izé amikor a program újabb verzióját akarom telepíteni.
Mire lemegy az founds conflict izé, az EGY nap
, és ráadásul semmire se megyek vele.Találtam valamit megoldást h ne legyen konflkitus, de nem működött még se.
-
Cucuska2
addikt
válasz
Netszemete
#3350
üzenetére
Gondolom dupla az egyenlőségjel ott. Nem tudom mi lehet a baj, nekem a PyCharmnak ezzel a részével pont nem szokot problémám lenni.
-
Cucuska2
addikt
válasz
Netszemete
#3348
üzenetére
Main függvényed van? Nekem a Shift+F10 (nem tudom, mit csinált a Ctrl előtte) nem változott meg, ugyanúgy megy, bár shebangot nem rakok Python scriptek elejére.
-
Siriusb
veterán
válasz
Netszemete
#3346
üzenetére
Már pár hónapja nem megy ez a billentyű kombináció. Rászoktam, hogy a nyitva lévő fájloknál a fájl nevére kattintva a helyzetérzékeny menüből indítom.
-
Gyuri27
félisten
válasz
Netszemete
#3344
üzenetére
Ez nem az én megoldásom sajnos. Itt még messze nem tartok.
De ezt írtam is. -
-
cousin333
addikt
válasz
Gyuri27
#3341
üzenetére
Az eddig felfogott feladatra itt a megoldásom. Házi feladat: megérteni, hogy működik...

import randomimport itertoolsimport stringhfeherje = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12', 'H13', 'H14', 'H15', 'H16']nfeherje = ['N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7', 'N8', 'N9']nevek = 'COVIDSAR'elnevezettek = {'H1N1': 'Madárinfluenza'}for var in itertools.product(hfeherje, nfeherje):varians = ''.join(var)betukod = ''.join(random.choices(nevek, k=3))szamkod = ''.join(filter(lambda x: x in string.digits, varians))elnevezes = elnevezettek.get(varians, f'{betukod}-{szamkod}')print(f'fehérjevariáns: {varians}, elnevezés: {elnevezes}') -
Gyuri27
félisten
válasz
cousin333
#3340
üzenetére
Igen lefut.
A gond az, hogy előbb simán nem fut le az össze variáns. Ha nézed nálam lefut a feladat is kéri.
"Készítsünk Python alkalmazást, ami egy vírus lehetséges összes fehérje mutációját kiírja.
(Pl: H1N1, H1N2….), a H1N1 törzset nevezzük "Madárinfluenzának"."A másik gond, hogy most valóban kombinálja a 3 betüt meg a variánsokat.
De: a kiiratás nálam azért az mert ez van kérve.
"A többit nevezzük el őket oly módon, hogy a COVID és a SARS betűkből
véletlen szerűen választunk 3-at, és mögé fűzzük a fehérje kombináció
számát, és írjuk ki. (Pl: COR-11, ARC-92….. )"
"Kiíratási minta:
fehérjevariáns: H1N1 elnevezés: Madárinfluenza
fehérjevariáns: H1N2 elnevezés: VIO-12"
Az hogy lefusson az összes kombináció elég hamar megtákoltam.
Csak ugye nem ez a feladat (miért is ez lenne mikor lehet sokkal bonyolultabb is). -
Gyuri27
félisten
válasz
cousin333
#3336
üzenetére
Traceback (most recent call last):
File "C:/Users/Gyuri/PycharmProjects/pythonProject/házi.py", line 10, in <module>
elnevezesek = [''.join(random.choices(nevek, k=3) + varians) for varians in variansok]
File "C:/Users/Gyuri/PycharmProjects/pythonProject/házi.py", line 10, in <listcomp>
elnevezesek = [''.join(random.choices(nevek, k=3) + varians) for varians in variansok]
TypeError: can only concatenate list (not "tuple") to listValami nem kerek.
-
cousin333
addikt
válasz
Gyuri27
#3332
üzenetére
Én valahogy így oldanám meg a feladatot:
import randomimport itertoolshfeherje = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12', 'H13', 'H14', 'H15', 'H16']nfeherje = ['N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7', 'N8', 'N9']variansok = itertools.product(hfeherje, nfeherje)nevek = 'COVIDSARS'elnevezesek = [''.join(random.choices(nevek, k=3) + list(varians)) for varians in variansok]for elnevezes in elnevesek:print(elnevezes)Ez a kód létrehozza az összes lehetséges H és N fehérje kombinációt, és mindegyik elé beszúr random 3 betűt a nevek sztringből, majd egymás után kiírja őket.
-
cousin333
addikt
válasz
Gyuri27
#3332
üzenetére
Először megcsináltad ezt:
nevek = ['C', 'O', 'V', 'I', 'D', 'S', 'A', 'R', 'S']nev = ''for i in range(3):nev += random.choice(nevek)Ezután viszont nem használtad a nev változót, hanem újra random.choice-oztál

Mivel a sztring is iterálható, ezért a fenti részt így írnám inkább:
nevek = 'COVIDSARS'nev = ''.join(random.choices(nevek, k=3)Azért kapsz aposztrófot, meg zárójelet, mert az egy 1 elemű lista, teljesen feleslegesen. Szóval de, egy kicsit túlbonyolítottad.
-
Gyuri27
félisten
válasz
cousin333
#3328
üzenetére
import random
hfeherje = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12', 'H13', 'H14', 'H15', 'H16']
nfeherje = ['N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7', 'N8', 'N9']
variansok = [x + y for x in hfeherje for y in nfeherje]
print(variansok)
print("H1N1:" "Madárinfluenza")nevek = ['C', 'O', 'V', 'I', 'D', 'S', 'A', 'R', 'S']
nev = ''
for i in range(3):
nev += random.choice(nevek)feherjevarians = (random.choice(variansok))
feherjevarians = [(random.choice(variansok))]elnevezés = (""+random.choice(nevek)+""+random.choice(feherjevarians))
print("fehérjevariáns:", feherjevarians, "elnevezés:", elnevezés)
A végeredmény:
fehérjevariáns: ['H13N9'] elnevezés: SH13N9
A fehérje variánsban nem zavar az aposztrof és a zárójel, bár nem kellene oda.
A gond az elnevezés. Mert ott 3 betünek kellene lenni (random) de egy van. És a HxNx variánsokból (ahol az x szám) csak a szám kellene.
Azaz 3 random betű AAA és a random szám 106 = AAA106
Remélem nem bonyolitottam túl.
Na erre kellene valami full fapad megoldás. -
cousin333
addikt
válasz
böng ész ő
#3330
üzenetére
A choices esetén ismétlődhetnek az elemek, a sample esetén nem:
x = [1, 2, 3, 4, 5]
sample: az 1 kihúzásának esélye 20, 25, 33, 50, 100 százalék minden egyes húzás után
choices: az 1 kihúzásának esélye 20, 20, 20, 20, 20 százalék minden egyes húzás után -
válasz
Gyuri27
#3323
üzenetére
print(*[muvelet(x,y) for x in X_1_11 for y in Y_1_11])
Végig kell iterálni a két listát és minden elemen keresztül kell vágni. Ez gyakorlatilag két egymásba ágyazott ciklus, csak python list-expression formában.a muvalat meg valami ilyesmi:def muvelet(x,y):
import random
nev = ''.join(chr(random.randbetween(ord('A'),ord('Z')) for _ in range(3))
return nev+str(x*y)Bocsi mobilról írtam az egészet…
-
Gyuri27
félisten
Üdv urak.
Kellene egy kis segitség (nyilván).
Adott két lista.
Mindkét listában "kombinációk" szerepelnek.
Az egyik lista X1-11. A másik Y1-11.
(igazából mindegy mi a két lista. Magára az elvre, megoldásra vagyok kiváncsi).
Szóval a két lista elemeit össze kellene "vonni" (összeadni, szorozni).
És kiiratni minden variációt.
Nagyon az elején járok a dolognak. Szóval ha lehetne minél egyszerübben.Majd amikor ez kész. Minden variácihóz random generáljon egy 3 betüs nevet.
Az abc első 9 betüjéből.De persze ez nem elég mert a végén a következőképpen adja vissza az eredményt: 3 betű pl AAA- és utána a kombinációkból származó számokat: pl AAA-111
És ez még mindig nem elég. Ha kiadja az X11Y11 kombinációt oda azt irja helyes a megoldás.
Előre is elnézést mindenkitől.
Ha kérhetném privitba (bár itt se baj).
És némi magyarázat se lenne rossz. Ne csak maga a kód. Mert abból nem tudom mit miért. -
válasz
böng ész ő
#3320
üzenetére
Curses-hez kell grafikus felület, tisztán konzolból (pl ssh) nem működik.
-
válasz
anorche1
#3317
üzenetére
1) próbáld újraindítani a VSC-t
2) nézd meg hogy be van-e állítva a környezet (jobb alsó sarokban Python 3.x.x kell legyen)
3) nézd meg, jól rakta-e fel a csomagot (ha van python2 és python3 is telepítve, akkor pip3 install kell, nem pip install)
4) az import jira sor bekerült a kód elejére?
5) ugye nem jira.py a file neve, mert azzal rendesen összezavarod a csomagkezelőtpy fájl futtatása VSC-ből: Shift+Ctrl+D (Debug/Run menü - negyedik a sorban, baloldalt)
-
anorche1
őstag
Sziasztok!
Python -nal szeretnék Jira -n automatizálni.
Pythont még soha nem használtam. pip install jira -val felraktam a jira -s libet, visual studio code -ban pedig a python kieget.
Az lenne a gondom, hogy pl. comment objektum után írok egy . -ot (pontot), majd ctrl+space, akkor nem irja ki, hogy ennek az objektumnak milyen mezői, metódusai vannak. Visual studioban nem is tudom futtatni a kodot, cmd -ben kell python jira.py -kent meghivni, ugy tokeletesen mukodik.Hogyan tudom visual studio code -dal is ezt megetettni, hogy hasznalja a jira -s libet?
Vagy milyen mas DE -t ajanlotok helyette? -
sonar
addikt
11 Malicious PyPI Python Libraries Caught Stealing Discord Tokens and Installing Shells
(Számomra) Nem túl ismertek ezek a packagek, de ha valaki használja akkor olvassa el a linkelt cikket.
importantpackage / important-package
pptest
ipboards
owlmoon
DiscordSafety
trrfab
10Cent10 / 10Cent11
yandex-yt
yiffparty -
magortaltos
csendes tag
Ez igen!
Le a kalappal! -
válasz
magortaltos
#3312
üzenetére
Itt van non-blocking módban is:
from os import system
from sys import platform
from pynput import keyboard
from pynput.keyboard import Key
from time import sleep
def print_at_x(y, x, text):
print(f"\033[{y};{x}H{text}")
def print_at_w(r, c, s):
h = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
windll.kernel32.SetConsoleCursorPosition(h, COORD(c, r))
prev_codepage = windll.kernel32.GetConsoleOutputCP()
windll.kernel32.SetConsoleOutputCP(65001)
c = s.encode("UTF-8")
windll.kernel32.WriteConsoleA(h, c_char_p(c), len(c), None, None)
windll.kernel32.SetConsoleOutputCP(prev_codepage)
def on_press(key):
global dx, dy, run
if key == keyboard.Key.esc:
run = False
return run
elif key == Key.up:
dx, dy = 0, -1
elif key == Key.left:
dx, dy = -1, 0
elif key == Key.down:
dx, dy = 0, 1
elif key == Key.right:
dx, dy = 1, 0
else:
return
if platform == "linux" or platform == "linux2":
# linux
system('clear')
print_at = print_at_x
elif platform == "darwin":
# MacOS, talán működik itt is
system('clear')
print_at = print_at_x
elif platform == "win32":
# Windows...
from ctypes import *
class COORD(Structure):
pass
STD_OUTPUT_HANDLE = -11
COORD._fields_ = [("X", c_short), ("Y", c_short)]
system('cls')
print_at = print_at_w
print_at(3, 15, 'Próbálj bent maradni a négyzetben!')
for n in range(5,50):
print_at(5, n, '*')
print_at(20, n, '*')
for n in range(5,20):
print_at(n, 5, '*')
print_at(n, 50, '*')
x, y = 25, 7
dx, dy = 0, 0
run = True
print_at(y, x, 'O')
listener = keyboard.Listener(on_press=on_press, suppress=True)
listener.start()
while run:
print_at(y, x, ' ')
x, y = x + dx, y + dy
print_at(y, x, 'O')
if not (5 < x < 50) or not (5 < y < 20):
run = False
sleep(0.1)
print_at(20, 55, 'A játéknak vége !') -
magortaltos
csendes tag
válasz
sztanozs
#3304
üzenetére
Sikerült! Köszönöm nagyon jó!
Két probléma van ezzel az első programmal.
1. A lenyomott kurzormozgató gombok kódját is kiírja a képernyőre
2. A pascalban a keypressed nem állítja meg a programot, csak megnézi, hogy volt-e billentyű leütés (true/false). Így lehet olyan játékot csinálni, ami folyamatosan megy, akkor is ha nem nyomsz gombot. Jelen esetben ha nem nyomod meg időben az ellenkező irányú nyilat akkor az O betű magától a falnak megy. Ettől ügyességi a játék. -
válasz
magortaltos
#3308
üzenetére
indítsd a következő módon:
python3 programneve.py
vagy
python3.8 programneve.pyDe szerintem itt a válasz a Geany-s kérdésre:
https://askubuntu.com/a/976670 -
válasz
sztanozs
#3306
üzenetére
pygame tutorial - kezdésnek:
import pygame
pygame.init()
win = pygame.display.set_mode((500,500))
pygame.display.set_caption("Első játékom")
x = 50
y = 50
width = 40
height = 60
vel = 5
run = True
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
if keys[pygame.K_UP]:
y -= vel
if keys[pygame.K_DOWN]:
y += vel
win.fill((0,0,0)) # Fills the screen with black
pygame.draw.rect(win, (255,0,0), (x, y, width, height))
pygame.display.update()
pygame.quit() -
magortaltos
csendes tag
válasz
sztanozs
#3306
üzenetére
Valóban. Van a gépemen 2.7.18 és 3.8.10 egyaránt.
Csak a Geany -t nem tudom rávenni, hogy a 3 -as verziót használja. Az lenne a legjobb.Sajnos az iskolába kénytelenek vagyunk Win alatt VSCode -ot használni (amikor tanítjuk majd). Én meg Linuxos vagyok maradok a Geany-nál...

-
kovisoft
őstag
válasz
magortaltos
#3305
üzenetére
Ha python 2.x-et használsz, akkor próbáld meg így:
print("\033[%d;%dH%s" % (y, x, text))
-
válasz
magortaltos
#3305
üzenetére
Ugye python 3.6+ vagy annál magasabb van python 2.x-re más nem érdemes fejleszteni.
Parancssorban a következő visszaadja a verziószámot:
python --versionilletve ha van egymás mellett 2.x és 3.x verzió, akkor
python3 --versionAmúgy oktatni szerintem pygame-mel élvezetesebb (ha van grafikus felület is, nem csak terminal).
-
magortaltos
csendes tag
Aztaaaa.... Tudsz! Egy hét alatt nem szedtem volna össze...
De ezt írta a fordító:
File "maradj a négyzetben.py", line 7
print(f"\033[{y};{x}H{text}")
^
SyntaxError: invalid syntax
A fordítás meghiúsult.(Ha elcsúszna a bejegyzésben, akkor a ^ a sor utolsó " jelére mutat)
-
No, nem annyira nehéz, csak meg kellett találni a megfelelő modult (meg, hogy windows-on is működjön).
from os import system
from sys import platform
from pynput import keyboard
from pynput.keyboard import Key
def print_at_x(y, x, text):
print(f"\033[{y};{x}H{text}")
def print_at_w(r, c, s):
h = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
windll.kernel32.SetConsoleCursorPosition(h, COORD(c, r))
prev_codepage = windll.kernel32.GetConsoleOutputCP()
windll.kernel32.SetConsoleOutputCP(65001)
c = s.encode("UTF-8")
windll.kernel32.WriteConsoleA(h, c_char_p(c), len(c), None, None)
windll.kernel32.SetConsoleOutputCP(prev_codepage)
if platform == "linux" or platform == "linux2":
# linux
system('clear')
print_at = print_at_x
elif platform == "darwin":
# MacOS, talán működik itt is
system('clear')
print_at = print_at_x
elif platform == "win32":
# Windows...
from ctypes import *
class COORD(Structure):
pass
STD_OUTPUT_HANDLE = -11
COORD._fields_ = [("X", c_short), ("Y", c_short)]
system('cls')
print_at = print_at_w
print_at(3, 15, 'Próbálj bent maradni a négyzetben!')
for n in range(5,50):
print_at(5, n, '*')
print_at(20, n, '*')
for n in range(5,20):
print_at(n, 5, '*')
print_at(n, 50, '*')
x, y = 25, 7
print_at(y, x, 'O')
def on_press(key):
global x, y
if key == keyboard.Key.esc:
return False
elif key == Key.up:
dx, dy = 0, -1
elif key == Key.left:
dx, dy = -1, 0
elif key == Key.down:
dx, dy = 0, 1
elif key == Key.right:
dx, dy = 1, 0
else:
return
print_at(y, x, ' ')
x, y = x + dx, y + dy
print_at(y, x, 'O')
if not (5 < x < 50) or not (5 < y < 20):
return False
with keyboard.Listener(on_press=on_press) as listener:
try:
listener.join()
finally:
listener.stop()
print_at(20, 55, 'A játéknak vége !') -
válasz
magortaltos
#3286
üzenetére
Próbáld meg leírni, kb mit csinál ez a kis program? A pascalt mindig rühelltem...
Ez valami kígyószerű játék lenne? -
magortaltos
csendes tag
A (#3286) hozzászólásomba feltett kihívás, azaz átírás pythonba. Érdekes, hogy senki nem meri vállalni, talán nehézséget jelent a nyelvnek..., ?
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Torry
addikt
Sziasztok!
Segítsetek kérlek, szeretném értelmezhető formába hozni a facebook beszélgetéseimet.
Amit találtam:
[link] - Ezzel a tool-al rendbejön a facebook karakterkódolási hibája, [link] ez pedig gyönyörűen megjeleníti.
A probléma ott lenne, hogy egybites vagyok bármilyen programozáshoz, így látszólag a python script megcsinálja amit szeretnék mivel run module esetén látom a végeredményt, de nem írja felül az eredeti JSON file-t.
Hogyan tudnám elérni, hogy a lefutott script lementse amit csinált egy új JSON-ba vagy akár írja felül az eredetit?Óriásiköszi,
P
Új hozzászólás Aktív témák
- ÚJ ASUS TUF Gaming M4 WL Bolti ár:16k INGYEN FOXPOST
- Szinte ÚJ ASUS ROG STRIX Impact II Electro Punk Bolti ár:20k INGYEN FOXPOST
- ÚJ (Hiányos) ASUS ROG Harpe Ace Aim Lab Edition Bolti ár:40k INGYEN FOXPOST
- ÚJ ASUS ROG Strix Impact II Wireless Bolti ár:25k INGYEN FOXPOST
- Szinte ÚJ ASUS Rog Spatha X Bolti ár:60k INGYEN FOXPOST
- Keresek Galaxy S21/S21+/S21 Ultra/S21 FE
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- Samsung Galaxy S20 128GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 1TB SSD RTX 3070 8GB Zalman S2 TG GIGABYTE 750W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
A közelség érzékelővel szemben ez nem minden dologra "kapcsolna". Kösz a tippet.
Telepítettem a Pyton 3.7 et egy másik env be. Majd ott telepítettem a programcsomagot, és hozzá szükséges Python intefészt is sikerült telepíteni utánna. Tehát a 3.7 es Python kell neki.
, ha ő nem mondja hogy számíthat a Python verzió akkor lehet nem jöttem volna rá még mostanra se.
Előtte ezzel se volt semmi ilyen probléma.
Hát külön egy komponens volt frissitve mikor még program elöző verziója volt telepítve , pont ez amit emlittem h nem távolitotta el, de többi nem.
, és ráadásul semmire se megyek vele.



![;]](http://cdn.rios.hu/dl/s/v1.gif)


