# library

## November 8, 2021

Paignton Library STEM Group

First event 13th November 2021

VIDEO

Tags

## November 6, 2021

Code Club Saturday 6th November part 2

I spent about ½ an hour on Friday setting up and preparing for Code Club, here are a few photos of the room all set up and ready to go.

Tags

## November 5, 2021

Code Club Saturday 6th November

The next Paignton Library Code Club is Saturday 6th November 2021. Usual time.

We will just carry on from where we left off last time, catch up on what has been undertaken since the last code club.

Tags

## September 28, 2021

Barnstaple Raspberry Pi jam

The Raspberry Pi Jam is this week, Saturday 2nd October, 10-12 pm. This is half an hour earlier than it used to be back in pre-Covid times.

Just to remind you what happens:

It is a drop-in session as always so you can stay as long or short as you wish. Children over 8 years old can be left but parents are welcome to stay. There will be refreshments for which there is a voluntary contribution. Please bring your Raspberry Pi if you have one or any other tech/code project you are working on. If you don't have a Pi, don't worry, we have some to share.

We are still encouraging people to be Covid safe by wearing a mask.

Hope to see some of you there.

Best wishes

Matt Chamings

## December 24, 2020

Libhandy 1.0.3 released

Gnome team have announced the released of Libhandy 1.03

Most of the update appears to be a few bug fixes, but this is very welcome all the same.

Link is set to last for 1 week then expire.

## May 21, 2020

I have added a few more maths functions to the application and also provided a clear function. There are still a few items to add to help improve debugging but the application is starting to take shape.

Notes

window = Tk()
window.title('Maths Application')
window.geometry("570x150") # w x h
window.resizable(0,0)

1. The above code is being modified as I go. So I am changing the window size depending on what is being displayed.

2. I have also made the Window title reflect the purpose of the application.

3. That the source code now has 'result' as a label rather than output. This will show up future screenshots.

The code for the above is as follows.

#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *

window = Tk()
window.title('Maths Application')
window.geometry("570x150") # w x h
window.resizable(0,0)

#define button actions
def btn1():
#convert box text in to integers
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())

#insert value of variable add in	to box outtext

def btn2():
#print("subtraction")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())

#subtract the 2 integers and store in variable sub
sub = (ent1 - ent2)

#insert value of variable sub in	to box outtext
outtext1.insert(0,str(sub)) # insert response

def btn3():
#print("multiply")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())

#multiply the 2 integers and store in variable mul
mul = (ent1 * ent2)

#insert value of variable mul in	to box outtext
outtext1.insert(0,str(mul)) # insert response

def btn4():
#print("divide")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())

#multiply the 2 integers and store in variable div
div = (ent1 / ent2)

#insert value of variable mul in	to box outtext
outtext1.insert(0,str(div)) # insert response

#clear boxes
def clear():
#print("clear boxes") # leave in for legacy testing
entrytext.delete(0, END) # clear input box
entrytext2.delete(0, END) # clear input box2
outtext1.delete(0, END) # clear output box

btn_tog2 = Button( window, text ='+', command=btn1) # add
btn_tog3 = Button( window, text ='-', command=btn2)  # subtract
btn_tog4 = Button( window, text ='x', command=btn3) #multiply
btn_tog5 = Button( window, text ='/', command=btn4) #divide
btn_tog6 = Button( window, text ='Clear', command=clear) #clear
btn_exit = Button( window, text ='Exit',command=exit)	 #exit

# define some labels
box1 = Label(window, text="1st Value")
box2 = Label(window, text="2nd Value")
box3 = Label(window, text="Result")

#define entry box
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box

#define out box

entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box

#display boxes
entrytext.grid(row = 3, column = 2,)  #display entry box
entrytext2.grid(row = 3, column = 3,)  #display entry box
outtext1.grid(row = 3, column = 4,) #display output box

#place labels
box1.grid(row = 1	, column = 2, padx = 5, pady = 5)
box2.grid(row = 1	, column = 3, padx = 5, pady = 5)
box3.grid(row = 1	, column = 4, padx = 5, pady = 5)

#buttons
btn_tog3.grid(row = 4, column = 3, padx = 1, pady = 1) # subtraction button
btn_tog4.grid(row = 5, column = 2, padx = 1, pady = 1) # multiply button
btn_tog5.grid(row = 5, column = 3, padx = 1, pady = 1) # divide button
btn_tog6.grid(row = 4, column = 6, padx = 1, pady = 1) # clear button
btn_exit.grid(row = 3, column = 6, padx = 1, pady = 1) # exit button

window.mainloop()



The code that I used for a previous application to detect if numerical values have been used is below but provided 'as is' for now.

def response():

msg = "error : must be a text value"

i = circletext.get()
y = i.isdigit()
l = len(circletext.get())
#print l
if y == True or l == 0:
circletext.insert(0,(msg))

else:
x = random.choice(RESPONSES)
circletext2.delete(0, END) # clear prev output
circletext2.insert(0,str(x)) # insert response


I will integrate a version of this in to the main code.

Happy to provide help and support via decentralised social media. I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.

Licenced under Attribution 4.0 International (CC BY 4.0)

## May 20, 2020

So following on from the previous posts, I am how sharing a small application, that makes use of what we have been learning.

This presents 2 input boxes and an output box, any values entered in to the first two, the sum is placed in to the last box.

This is not perfect, but getting there slowly.

We need to:-

• Fix the name of the button from button1
• Detect if the user has entered numerical values
• Detect for empty boxes
• Make labels more useful

The code for the above is as follows.

#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *

window = Tk()
window.title('App 1')
window.geometry("650x125") # w x h
window.resizable(0,0)

#define button actions
def btn1():
#convert box text in to integers
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())

#instert value add in	to box outtext

btn_tog2 = Button( window, text ='button1', command=btn1)
btn_exit = Button( window, text ='exit',command=exit)

# define some labels
box1 = Label(window, text="Entry 1: ")
box2 = Label(window, text="Entry 2: ")
box3 = Label(window, text="Ouput1: ")

#define entry box
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box

#define out box

entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box

#display boxes
entrytext.grid(row = 3, column = 2,)  #display entry box
entrytext2.grid(row = 3, column = 3,)  #display entry box
outtext1.grid(row = 3, column = 4,) #display output box

#place labels
box1.grid(row = 1	, column = 2, padx = 5, pady = 5)
box2.grid(row = 1	, column = 3, padx = 5, pady = 5)
box3.grid(row = 1	, column = 4, padx = 5, pady = 5)

#buttons
btn_tog2.grid(row = 3, column = 5, padx = 5, pady = 5)
btn_exit.grid(row = 3, column = 6, padx = 5, pady = 5)

window.mainloop()



Happy to provide help and support via decentralised social media. I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.

Licenced under Attribution 4.0 International (CC BY 4.0)

## February 29, 2020

Lego WeDO Session Write up

Today I was involved in a Lego WeDo [2] session at Paignton Library,

I wrote a session plan [1] a while back and submitted this to the library.

The session went quite well, despite a few teething problems with wifi and sotware. We started off using the models I had previously built to experiment with the WeDo kit.

However the kit did seem to prove popular, we had one person drop in and have ago who was already at Lego Club. So the idea that this being within the Lego club area, was good as it attracted further interest.

What we need is a set of our own tablets + software installed and working so that we can just get on and build projects at future sessions.

You can find me on Friendica at zleap@social.isurf.ca

Licenced under Attribution 4.0 International (CC BY 4.0)