- Motorola Edge 70 - többért kevesebbet
- iPhone topik
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Poco X6 Pro - ötös alá
- 3D nyomtatással csökkentené a kijelző gyűrődését az Apple iPhone Foldnál
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S25 - végre van kicsi!
Új hozzászólás Aktív témák
-
cadtamas
tag
Üdv, ismét elakadtam.
Van egy programom, ami egy elektromos ellenállásra rajzolja ki a megfelelő színkódokat.
Gerard Swinnen 13.4. feladat
Az lenne a feladat, hogy miután beütöm az ellenállás értékét, ne gombhoz legyen rendelve a csíkok átszínezése, hanem csak simán az <enter> gomb lenyomásával működjön.
Beleírtam amit elvileg kell, de a következő hibát írja ki:
"TypeError: changeColours() takes 1 positional argument but 2 were given"Tudna valaki segíteni, hogy mit rontottam el?
from tkinter import*
from math import log,log10
class Application:
def __init__(self):
"""A főablak constructora"""
self.root=Tk()
self.root.title('Színkódok')
self.drawResistor()
Label(self.root,text="Írja be az ellenállás értékét ohm-ban: ").grid(row=2)
from tkinter import*
from math import log,log10
class Application:
def __init__(self):
"""A főablak constructora"""
self.root=Tk()
self.root.title('Színkódok')
self.drawResistor()
Label(self.root,text="Írja be az ellenállás értékét ohm-ban: ").grid(row=2)
#Button(self.root, text='Mutat', command=self.changeColours).grid(row=3,sticky=W) #Korábban ezzel működött
self.entry=Entry(self.root,width=14)
self.entry.bind("<Return>",self.changeColours) #Ezt írtam csak bele
self.entry.grid(row=3)
#színkódok:
self.cc=['black','brown','red','orange','yellow','green','blue','purple','grey','white']
self.root.mainloop()
def drawResistor(self):
"""Vászon ellenállás modellel, amin három színes csík van"""
self.can=Canvas(self.root,width=500,height=200,bg='light blue')
self.can.grid(row=1,pady=5,padx=5)
self.can.create_line(10,100,490,100,width=3)
self.can.create_rectangle(130,60,360,140,fill='beige',width=2)
#három színes csík (feketék alapból)
self.line=[] #listában tároljuk őket
for x in range(150,250,48):
self.line.append(self.can.create_rectangle(x,60,x+30,140,fill='black',width=0))
def changeColours(self):
"""A beírt értéknek megfelelő három szín kiiratása"""
self.v1ch=self.entry.get() #A get() metódus egy stringet ad vissza (ez a bekért adat)
try:
v=float(self.v1ch) #Ha sima float értéket írtunk be akkor ezzel működik
except:
err=1 #Nem numerikus adat
else:
err=0
if err==1 or v>1e11:
self.reportError() #Nem megfelelő érték
elif v<10:
li=[0]*3
li[1]=int(v+.5)
li[2]=int((v-int(v))*10+.5)
for n in range (3):
self.can.itemconfigure(self.line[n],fill=self.cc[li[n]])
else:
li=[0]*3
logv=int(log10(v)) #logaritmus egész része
ordgr=10**logv #nagyságrend
li[0]=int(v/ordgr) #egész rész
decim=v/ordgr-li[0] #tizedes rész
li[1]=int(decim*10+.5) #+0.5 a korrekt kerekítéshez
li[2]=logv-1
#a 3. szakasz színezése:
for n in range (3):
self.can.itemconfigure(self.line[n],fill=self.cc[li[n]])
def reportError(self):
self.entry.configure(bg='red') #mező hátterének színe
self.root.after(1000,self.emptyEntry) #1 sec után törölni
def emptyEntry(self):
self.entry.configure(bg='white') #fehér háttér vissza
self.entry.delete(0, len(self.v1ch)) #karakterek törlése
####Főprogram###
f=Application()
Új hozzászólás Aktív témák
- Meggyi001: Áram nélkül....méltóság nélkül.....
- Új termékkel és áremeléssel reagál a memóriahiányra a Raspberry Pi
- The Division 2 (PC, XO, PS4)
- Milyen autót vegyek?
- Napelem
- Apple asztali gépek
- Parfüm topik
- Linux kezdőknek
- Motorola Edge 70 - többért kevesebbet
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Keresünk Galaxy S22/S22+/S22 Ultra
- 241 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
- Lenovo ThinkPad T14s Gen 6 Ryzen AI 7 PRO 350W Radeon 860M 32 GB RAM 7500 MT/s 512 GB 3év gar
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Samsung Galaxy S25 Ultra 5G 12/256GB Titanium Black használt, szép állapot 6 hónap garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

