Új hozzászólás Aktív témák
-
axioma
veterán
válasz
cadtamas
#1215
üzenetére
Nem erted akkor.
En aszerint megyek rajta vegig, hogy ki a lehetseges _masodik_ elem.
Es tok mind1, hogy hol van az elso, csak hogy van-e. Az indexek abszolute nem kellenek a megoldashoz. Ez mondjuk inkabb az algoritmus es nem a python resze a dolognak.
Probald lekovetni ezen a kicsi peldan amit en irtam le kodot. -
axioma
veterán
válasz
cadtamas
#1212
üzenetére
Ez az amikor jol megszivod azzal, hogy az ints ertekein ugy mesz vegig, hogy "elveszted" az indexet, es mikor ujra lekerdezed, akkor tok jol emeled a nagyordodat feleslegesen. Mert az index kikeresese nem konstans ideju muvelet - es ez a muvelet eleve 2x is szerepel benne.
A tobbi reszet nem nezve elsore csak a feleslegeset kiveve:
for x in xrange(len(ints)-1):
pair1=ints[x]
pair2=s-pair1
x=ints.index(pair1)
try:
y=ints[x+1:].index(pair2)+i
egybol nem kell az x!=y sem (mert x+1.-tol keresed csak)Ja egyebkent latom, hogy vegulis az i-t is arra hasznaltad, hogy tudd hogy hol jarsz, de ket dolog miatt nem vetted eszre:
1. elnevezes (pl. fst_idx eseten egybol latszana)
2. bar a try teljes lefutasa es exception eseten is noveled, de kulonvetted - az egesz utan ha 1x lenne, latszana, hogy pont szamolod a koroketMar csak didaktikailag probald ki. De egyebkent nagyon nem ertem, miert is gyujtogetsz lehetseges indexeket... eleg a legelso. Ha jol ertem, az eloszor befejezodo kell. Tehat en igy mennek vegig rajta:
prevs=set(ints[:1])
for val in ints[1:]:
if s-val in prevs:
return [s-val,val]
prevs.add(val)
return Nonedisclaimer: nem probaltam ki...
-
kezdosql
tag
válasz
cadtamas
#1206
üzenetére
Most mar megtudtam az eddig szupertitkos feladatot:
fagylaltokat kell osszeallitani, amibol tolcserenkent legfeljebb 3 gomboc lehet, es a gyakorlatban egyszerre csak negy szemelynek vesznek fagyit.Azt akarjak, hogy legyen egy 10 soros es 4 oszlopos tablazat, es x-elgetni lehessen, hogy soronkent milyen oszlopokat jelolnek be.
En inkabb egyesevel oldanam meg, de a probak alapjan ugy lattam, valoban jobb lenne x-elgetes, mint gepeles.vagy szamok beirasa, valamiert a szamokat idonkent osszekeverik. -
cousin333
addikt
válasz
cadtamas
#1189
üzenetére
Gondoltam, hogy nincs korábbi munka, azért furcsállottam, hogy két környezetet használsz (gondolom az egyik 2.7, a másik 3.x).
A PyCharm-ban a projekt beállításainál ki tudod választani az interpretert. De ha rám hallgatsz, törlöd a "normál" Pythont és meghagyod az Anacondát.
Már írtam párszor: a Gerard Swinnen könyv jó és magyar de elég régi. Ha megy az angol, inkább olyan könyvet keress.
-
cousin333
addikt
válasz
cadtamas
#1187
üzenetére
Nem, a pip egy külön csomagkezelő modul, ami eleve része az Anaconda telepítésnek...

Igazából az a kérdés, hogy miért használsz 2 különböző környezetet. Ha pedig mégis kell, akkor az Anaconda támogatja ezek létrehozását. Ráadásul a csomagkezelője (conda) a Pythont is csomagként kezeli, ezért lehetőséged van arra is, hogy egyidejűleg használj egy 64-bites Python 3.6-t a legfrissebb csomagokkal az újabb munkáidhoz és mondjuk egy 32 bites 2.7-et adott verziójú csomagokkal a régebbi kódjaidhoz.
-
-
s3toraph
senior tag
válasz
cadtamas
#1012
üzenetére
+ (#1015) cousin333 + (#1018) justmemory:
Programoztam (tanultam) már C-ben és javaban csak régen volt hogy utoljára kódot írtam.
Angol persze lesz fejlesztve, de munka mellett nem fér bele minden, most ezt sürgősebb.
Szóval, magyar forrás kell nekem, tananyag szempontjából, ami elég jól felépített, jól magyaráz hogy akár aki első programnyelvként fog bele az is megértse.
Summerfield Python 3 könyvét már nem kapni sehol de le tudtam tölteni egy helyröl bescannelt változatban, azzal haladok szép lassan. Nem rossz. De nekem sem fekszik csak könyvből tanulni, így elég száraz, unalmas.
Szerencsére rátaláltam a pythonidomár YT csatornára, ez tetszik, nagyon szájbarágós, jól magyaráz és magyarul van!
cousin333:
Eddig az IDLE-t használtam, de kezd zavaró lenni hogy nem látom meddig tart egy ciklus és nincs sorszámozás. Kellene valami fejlettebb IDE. Láttam hogy te korábban írtál a lehetőségekröl. Nekem olyanra van szükségem, ami elérhető ingyenesen windowsra és linuxra is. Ugyanis, most windows-on bele akarok tanulni a python 3-ba és ha már tudom értelmezni a hőmérséklet mérős mintakódokat pl. githubon, akkor a raspberry pi2-re telepített rapsbyan-on belül irnám meg a hőmérséket figyelős progit ami magán a pi-n futna. A spyder IDE-vel szemezgetek. A rapsbianban van python 3 is (igaz még nem néztem melyik verzió pontosan), és ha jól láttam fel lehet rá rakni a spydert.
Ha írok egy kódot ami .py kiterjesztésű fájl lesz, és benne van ez első sornak:
#! /usr/bin/env python3
akkor futtatható lesz minden gond nélkül rapsbian rendszeren is?Valamint, segítenél abban hogy jó választás-e ez a spyder? Valóban ugyanúgy tudom használni linux alapú rendszeren mint windows-on?
Hogyan kell feltelepíteni? Találtam külön is, meg csomagban is (azt hiszem anaconda néven), nem tudom nekem melyik kell, melyiket érdemesebb felraknom.
(Konfigom az adatlapomon, rendszer Win 8.1 Prof X64, python.org-ról python 3.6.1 x64 telepítve.)
-
slyder81
tag
válasz
cadtamas
#997
üzenetére
Kössz. Úgy látszik egy rugóra jár az agyunk. Igy sem ment. De neked hála, megtaláltam a megoldást.
A self.item sorba szintén beraktam egy tags ='ed' részt s kiegészitettem igy a kódot:def mouseDown(self, event):
self.currObject =None
self.x1, self.y1 = event.x, event.y
self.selObject = self.c.find_closest(self.x1, self.y1)
self.tags = self.c.gettags(self.selObject)#Kiolvassuk a tag-et
print self.tags
if self.tags ==('kor', 'current'):
self.c.itemconfig(self.selObject,width =3)
self.c.lift(self.selObject)
if self.tags == ('ed', 'current'):
self.selObject =NoneIgy már megy a dolog tökéletesen. Hálás köszönet.
-
slyder81
tag
válasz
cadtamas
#995
üzenetére
De jó, végre valami nyom.
Sajnos nem jó, de a nyom igen. Csak meg kell találni a megfelelő alkalmazási módot.
Ha aself.tagslistát print utasitással kiolvasás után kiirattatom, akkor ha a körökre katintok akkor ('kor', 'current') tartalmat kapok. De ha a képre akkor csak('current',) kapok. A baj az hogy a kép még mindig mozog. -
cadtamas
tag
válasz
cadtamas
#993
üzenetére
Eh, hülyeséget beszélek.
Ha kitörlöd a hivatkozást a következő sor hibát fog kiadni.Akkor viszont én arrafelé tapogatóznék, hogy a mozgatható elemeket beletenném egy listába és hozzáadnék egy sort a mouseDown() metódushoz, hogy csak akkor működjön ha az objektum eleme a a listának.
-
pbalintka
csendes tag
válasz
cadtamas
#950
üzenetére
A circle függvényed nem tér vissza semmivel, csak kört rajzol. Igy amikor törölni szeretnéd a mouth-t akkor gyakorlatilag annak értéke semmi (None típus).
Írj egy return-t a függvényed végére, hogy adja vissza az object-et!
def circle(can,x,y,r,color="white"):
"A <can> vásznon egy <r> sugarú kör rajza <x,y>-ban."
return can.create_oval(x-r,y-r,x+r,y+r,outline=color) -
pbalintka
csendes tag
válasz
cadtamas
#943
üzenetére
A Frame-t elfelejtetted "pack"-olni:
from tkinter import*
def circle(can,x,y,r,color="white"):
"A <can> vásznon egy <r> sugarú kör rajza <x,y>-ban."
can.create_oval(x-r,y-r,x+r,y+r,outline=color)
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self) #szülőosztály constructor
self.master = master
self.pack(fill=BOTH, expand=1) # EZ HIANYZOTT
#Példány attribútomok inicializálása:
self.canv=Canvas(height=400,width=400)
self.canv.pack(side=TOP,padx=5,pady=5)
Visage(self.canv)
Button(self, text="Open", command=self.open).pack()
Button(self, text="Close", command=self.shout).pack()
def shout(self):
Visage.mouth=self.canv.create_line(170,270,230,270,fill='black')
def open(self):
Visage.mouth=circle(self.canv,200,270,30,color="black")
class Visage:
"""Arc rajzoló osztály"""
def __init__(self,canv_):
self.canv=canv_
circle(canv_,200,200,150,color="black") #fej
circle(canv_,160,160,30,color="black") #bal szem
circle(canv_,160,160,10,color="black")
circle(canv_,240,160,30,color="black") #jobb szem
circle(canv_,240,160,10,color="black")
circle(canv_,200,200,20,color="black") #orr
self.mouth=0 #száj
root = Tk()
app=Application(root)
app.mainloop() -
cousin333
addikt
válasz
cadtamas
#893
üzenetére
A fájlbeli coding sor tudtommal a forrásfájl karakterkódolását definiálja.
Kezdjük azzal a kérdéssel, hogy hogyan írod/olvasod a fájlt? Ha a klasszikus
openfüggvénnyel, akkor annak van egy encoding paramétere, amit célszerű megadni. A lehetséges kódolások listája (bár kicsit régi): [link]. Innen az UTF-8 vagy a cp1250 ajánlott.ui: Mindez a Python 3.x szériára vonatkozik, de remélhetőleg azt használod...
-
cousin333
addikt
válasz
cadtamas
#889
üzenetére
Hát, lehet, hogy rosszul látom, de az
xt,yt=x,ysor hatására szerintem annyi történik, hogy az xt nem olyan lesz, mint az x, hanem maga lesz az x csak másik elnevezéssel. Magyarul amint módosítod az egyiket, módosul a másik is. Így azifmáshogy elnevezettelseága (a másodikif) az első elemmel másolja felül az összes többit.Nem teljesen világos nekem a program működése, de ha a listában egy elem kimegy, egy másik meg be, de a többi marad, akkor azt másolgatnám, hanem csak az utolsó elemet törölném, az elsőt meg hozzácsapnám. Erre a legmegfelelőbb típus mondjuk nem a list, hanem a deque, mondjuk ez azért elég speciális és tudtommal inkább teljesítmény okokból létezik. A te kígyód meg sosem lesz olyan hosszú, hogy ez problémát jelentsen...

Listával valahogy így tudsz elé beszúrni egy új elemet:
x = uj_x0 + x[:-1]
Új hozzászólás Aktív témák
- Üzletből, Hp gyártói garanciával, HP EliteBook 840 G11 ultra 5-125u/16GBRAM/512GBSSD/HULLHD+ kijelző
- ÚJ Bontatlan Apple MacBook Neo 13" A18 Pro 8GB/256GB magyar billentyűzet 1 év Garancia Deák Térnél.
- SAPPHIRE INCA EP-10 GPU szerver ÜRESEN/kártyákkal
- ÚJ Bontatlan Apple Macbook AIR M2 , M3 , M4 Legújabb magyar billentyűzet 1 év Garancia Deák Térnél.
- AKCIÓ ÚJ Bontatlan Macbook Air 13,6 M4 10CPU/10GPU 16GB/512GB SSD TOUCH ID - Magyar Azonnal Deák tér
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- Dell Vostro 3425 6magos Ryzen 5 5625U 16GB RAM 512GB SSD 1 év garancia
- Apple iPhone 16 Pro Max 256GB Desert Titanium használt, megkímélt 100% akku (13 ciklus) 6 hón
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4383, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

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

Furcsa...

