2023 m. lapkričio 12 d., sekmadienis

Šungalviai

"Šungalviai" pasaka iš Norberto Vėliaus surinkto liaudies pasakų rinkinio "Laumių dovanos".


Seniau per karus nebuvo ginklų, tai turėjo tokius žmones, vadinos vienakiai arba šungalviai. Tai jie pagaudavo žmogų ir suėsdavo. Tokiu būdu ir kariaudavo. O kad žmogus pradeda bėgt, tai anei kaip negali išbėgt, tik greitu laiku reikia atmainyt autuvus ant kojų — atgręžt priekį į užpakalį, tai tada šungalviai suglūšta ir nebegali žmogaus paimti. O kai nakties sulaukia, iškasa gilią duobę, juos suverčia, uždengia lentom ir aprita akmenim.


Visą rinkinį PDF formate galite rasti tinklalapyje "Tautos menta":

Tautos menta. Laumių dovanos.

Tkinter. Kintamieji. (5)

Jūs jau esate įpratę naudoti Python dinaminius kintamuosius. Tačiau Tkinter kintamieji yra statiniai, taigi juos reikia apibrėžti dar prieš priskiriant reikšmes. Tuo pat metu jie yra ir objektai, savo viduje talpinantys metodus.


Taigi Tkinter kintamųjų pavyzdžiai:

sveikas=IntVar()      #nustatomas sveikas kintamasis

tekstas=StringVar() #nustatomas tekstinis kintamasis

slankus=DoubleVar() #nustatomas slankaus kablelio kintamasis

loginis=BooleanVar() #nustatomas loginis kintamasis


Kaip riskirti kintamajam reikšmę? Tuo tikslu galime pasinaudoti metodu set(). Pavyzdžiui:

sveikas.set(50)

tekstas.set('Labas rytas')

slankus.set(50.555)

loginis.set(True)


Suteikti reikšmę jau mokame, o dabar pamėginkime ją nuskaityti ir suteikti dinaminiam Python kintamajam, tai darome metodo get() pagalba:

a=sveikas.get()

b=tekstas.get()

c=slankus.get()

d=loginis.get()


Kam yra reikalingi integruoti į Tkinterį duomenų tipai? Jie reikalingi Tkinter objektuose, duomenų paėmimui ir priskyrimui.

2023 m. lapkričio 10 d., penktadienis

Raspbery Pi Pico. Micropython. Skaitmeninis išvedimas. (1)

Šis pranešimas yra skirtas jau mokantiems programuoti, kaip priminimo priemonė ir pradiniam susipažinimui jos neužtenka.

 

Tiems kurie šį tekstą skaito pirmą kartą: mikrokontrolerį Raspbery Pi Pico galima lengvai programuoti micropython kalba.

 


 

Kad tai galima būtų atlikti šio kontrolerio valdymą būtina prijungti machine biblioteką:

Import machine

 

Dabar bus galime sukurti skaitmeninio išvedimo objektą:

ledas = machine.Pin(16, machine.Pin.OUT)

16 - pino numeris,

OUT - perjungia, šio pino darbo modą į skaitmeninio išvedimo režimą. 

Šiuos objektus sukuriame programos pradžioje ir jų dėti į ciklus nereikia. Pakeisti režimą, gali prireikti, tik esant  labai sudėtingoms elektrinėms schemoms.

Viena led lemputė yra įmontuota pačio Raspbery Pi Pico plokštėje. Jos adresas yra 25.

Skaitmeniniame režime, nesvarbu įvedimas ar išvedimas, tėra tik dvi būsenos 1 (įjungta) arba 0 (išjungta).

Kaip įjungti piną norimu adresu?

ledas(1)

kaip išjungti piną norimu adresu?

ledas(0)

Programoje pavyzdyje pridėsime dar vieną biblioteką (utime), su delsimo komanda:

 utime.sleep(1)

 

Programa pavyzdys:

 

import machine, utime

ledas = machine.Pin(25, machine.Pin.OUT)

 #Led įjungiam:

ledas.value(1) 

#palaukiam vieną sekundę:

 utime.sleep(1)

 #Led įšungiam:

ledas.value(0) 


Dabar lemputę priversime mirksėti:

 

import machine, utime

ledas = machine.Pin(25, machine.Pin.OUT)

while True:

    #Led įjungiam:

    ledas.value(1) 

    #palaukiam vieną sekundę:

     utime.sleep(1)

     #Led įšungiam:

    ledas.value(0) 

    #palaukiam vieną sekundę:

     utime.sleep(1)

 

 




Morfinis rezonansas

Įdomi molekjulinio biologo dr. Ruperto Ščieldrake knyga, kurioje iškeliamos naujos gyvų organizmų sąveikos tarpusavyje erdvėje ir laike idėjos.

 

Book Morphic Resonance Rupert Sheldrake

Nuostabi knygelė apie grybus.

Mikologo Meerlin Ščieldrake knygoje "Raizgus gyvenimas", rasite daug įdomybių liečiančių grybų pasaulį. Jūs dauguma iš mokyklos laikų žinote, kad vienas grybas jungiasi su vienu medžiu. Tačiau viskas yra kur kas sudėtingiau, vienas grybas gali jungtis su dešimtimis medžių, jiems teikti bankines ir interneto paslaugas.


undefined

2023 m. lapkričio 4 d., šeštadienis

Tkinter. Mygtukas. (4)

Labai programų languose būna mygtukai skirti įvykdyti vieną ar kitą funkciją. Dabar panagrinėsime kaip tai galima padaryti Tkinter lange.


mygtukas1 - mūsų pasirenkamo objekto pavadinimas, kurį pasirenkame laisvai.


langas - motininio objekto, šiuo atveju lango kuriame bus mygtukas pavadinimas.


text='Spausti' - tekstas ant mygtuko


mygtukas1.place(x=380,y=15)


command=langas.destroy - command  - yra metodas kuris įvykdo tai, kas parašyta po lygybės 


nuspaudus mygtuką langas.destroy - ši komanda uždaro langą.



mygtukas1=Button(langas, text='Spausti',  command=langas.destroy)



Kaip ir kitų objektų atveju savybė place nurodo mygtuko buvimo vietą motininiame objekte. Patyrinėkite keisdami skaičius, įsitikinsite:

mygtukas1.place(x=150,y=10)


Patobulinkime prieš tai buvusią programą, kad joje atsirastų ir mygtukas. Naujos komandos nudadažytos mėlyna spalva:


from tkinter import *

from tkinter.ttk import *


#lango parametrai

langas=Tk()

langas.title('Pavyzdys')

langas.geometry ('500x200')


tekstas1=Label (langas, text='Pirmasis bandymas')

tekstas1.place (x=10,y=15)


tekstas2=Label (langas, text='Antrasis bandymas')

tekstas2.place (x=10,y=55)


tekstas3=Label (langas, text='Trečiasis bandymas')

tekstas3.place (x=10,y=95)


rasom1=Entry(langas, width=25)

rasom1.place(x=150, y=15)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=55)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=95)


mygtukas1=Button(langas, text='Spausti',  command=langas.destroy)

mygtukas1.place(x=380,y=10)


langas.mainloop()


Įvykdykite programą.


Dabar pamėginkime šią programą išplėsti dar dvejais mygtukais.


from tkinter import *

from tkinter.ttk import *


#lango parametrai

langas=Tk()

langas.title('Pavyzdys')

langas.geometry ('500x200')


tekstas1=Label (langas, text='Pirmasis bandymas')

tekstas1.place (x=10,y=15)


tekstas2=Label (langas, text='Antrasis bandymas')

tekstas2.place (x=10,y=55)


tekstas3=Label (langas, text='Trečiasis bandymas')

tekstas3.place (x=10,y=95)


rasom1=Entry(langas, width=25)

rasom1.place(x=150, y=15)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=55)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=95)


mygtukas1=Button(langas, text='Spausti',  command=langas. destroy)

mygtukas1.place(x=380,y=15)


mygtukas2=Button(langas, text='Spausti')

mygtukas2.place(x=380,y=55)


mygtukas3=Button(langas, text='Spausti')

mygtukas3.place(x=380,y=95)


langas.mainloop()




Gerų darbų.





2023 m. lapkričio 3 d., penktadienis

Tkinter. Įrašo eilutė. (3)

 Įrašas yra reikalingas duomenų iš klaviatūros įvedimui arba jų atvaizdavimui. Įrašui skirtą eilutės langą sukuriame taip:

rasom=Entry(langas, width=25)

rasom - yra mūsų sukurto objekto vardas.

langas - yra motininis objektas, šiuo atveju langas kuriame bus matomas įrašo langelis.

width - įrašo eilutės ilgis, priklauso nuo mūsų iš anksto numatyto galimų simbolių skaičiaus.


Žemiau sekanti komanda nurodo kurioje motininio objekto, mūsų atveju lango, vietoje mes patalpinsime objektą rasom

Kaip ir kitais atvejais skaičiai reiškia poziciją motininiame objekte. Pamėginkite juos pakaitalioti.

rasom.place(x=250, y=10)


Dabar pamėginkime visa tai įdėti į anksčiau mūsų kurtą programą, naujos eilutės nudažytos mėlynai. Pamėginkite paleisti šią programą, tyrinėkite ją kaitaliodami mėlynų eilučių parametrus:


from tkinter import *

from tkinter.ttk import *


#lango parametrai

langas=Tk()

langas.title('Pavyzdys')

langas.geometry ('500x200')


tekstas1=Label (langas, text='Pirmasis bandymas')

tekstas1.place (x=10,y=15)


tekstas2=Label (langas, text='Antrasis bandymas')

tekstas2.place (x=10,y=55)


tekstas3=Label (langas, text='Trečiasis bandymas')

tekstas3.place (x=10,y=95)


rasom1=Entry(langas, width=25)

rasom1.place(x=150, y=15)


langas.mainloop()


Dabar pamėginkime po naują įvedimo eilutę sukurti prie kiekvieno užrašo:


from tkinter import *

from tkinter.ttk import *


#lango parametrai

langas=Tk()

langas.title('Pavyzdys')

langas.geometry ('500x200')


tekstas1=Label (langas, text='Pirmasis bandymas')

tekstas1.place (x=10,y=15)


tekstas2=Label (langas, text='Antrasis bandymas')

tekstas2.place (x=10,y=55)


tekstas3=Label (langas, text='Trečiasis bandymas')

tekstas3.place (x=10,y=95)


rasom1=Entry(langas, width=25)

rasom1.place(x=150, y=15)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=55)


rasom2=Entry(langas, width=25)

rasom2.place(x=150, y=95)


langas.mainloop()




 

Geros kūrybos. 


Artūras Lielajis. Konkistadorai.

  Dviejų karo vadų likimai    Kortesas:  1547 metais Kortesą palaidojo viename Sevilijos vienuolyne. 1562 metais pagal testamentą, kuriame...