A row appears each time a value changes, on the line that changed it.
This changes the words in Jojo Code. Your code stays the same.
Pick a font here, then tick where you want it used. Your choice is saved as you make it.
Use this font for
An area you leave unticked keeps the app font.
Choose a .ttf, .otf, .woff or .woff2 file from your computer.
These change how the code looks. Nothing here needs a restart.
Make text lighter or heavier.
Add space between lines.
Add space between letters.
Add space between words.
Show a line that guides your eyes.
Extra high moves text further from the background. Try it if words blend together.
A soft wash of colour behind the editor. Turn it off if it bothers you.
Make your own colours.
Keywords, strings, comments, numbers and functions. All stored values already pass the contrast check. Change these only if you want to.
Blends with your theme colour. Panels shift colour and keep their contrast. Leave it empty to follow the theme. Type a hex colour such as #223344.
The colour behind the line you work on. Leave it empty to use the theme colour.
If a colour is hard to read on your theme, the app nudges it until it is easy to read again.
See how your font and colour look before you keep them. Everything here is saved straight away.
Change the words to anything you like. The preview below follows along.
Preview
The quick brown fox jumps over the lazy dog.
Showing OpenDyslexic in the theme colour.
Focus mode narrows what you see, so it is easier to follow one spot at a time.
Takes effect when Focus mode fades other lines.
Movement is extra. Turning it off never changes what the app does, only how quickly things arrive.
Turning this on stops buttons, switches and panels moving. Nothing is lost. Things appear straight away.
How solid the bars and panels look. Your code always stays solid. Mica is nearly solid. Frosted is an even blur. Acrylic is the most see through, with a faint grain. Glossy is shiny like glass.
Change how the panels look.
A short sound when code starts, finishes, fails or waits for an answer. A soft click on buttons. Turn sound off if it distracts you.
Turn this off to show only icons. Hover over an icon to read its name. Screen readers still read every name.
Run needs Enter plus one other key. Stop needs Escape pressed twice, or Escape plus one other key. Enter alone starts a new line. Escape alone closes a box.
Shows the configured run and stop shortcuts beside the buttons.
When this is on, the app reads output and error messages out loud after you run your code.
These voices come from your computer and Windows. Not every computer has the same ones.
Computers do not label voices male or female. The app guesses from voice names. A voice you pick above takes priority. Voices come from this computer.
Around 1 is a normal pace. Below 1 is slower.
How much of the screen the app reads aloud. This works alongside your screen reader.
Point at a part to read it aloud after the pause. Each part stays off until you turn it on.
The wait before speech starts. A longer wait means hovering only speaks when you rest on something.
Clicking a button, heading or label says what it is. Code and results stay quiet, so running your program works as normal.
New versions are published on GitHub. Nothing is downloaded or changed without your asking.
The app looks once a day when you open it. It only tells you when a new version exists. You decide what happens next.
Pick stable or beta updates.
Check for new updates now.
After the download, install now with the button that appears. Or let it install when you close the app.
Closes the app, puts the new version in place, then opens the app again.
Saves a copy of your settings you can move to another computer.
Pick Flask or React for the screen.
Puts every setting back to the default. Your code is left alone.
A free, open-source editor for learning Python. Your code stays on this computer.
Version 2.0.0-beta
Written in English for now.
What the Python in this app does. The same list is in the README.
These entries are written in English for now.
print() shows something on the screen.
print("Hello")
print(5)
print("Hi", name)
Text after # is ignored by Python.
# a comment
# print("not run")
= saves a value under a name. Variable names cannot start with a number and cannot have spaces.
=
x = 5
name = "Ana"
type(5)
int
float
str
bool
list
int("5")
str(5)
Ask the user a question and get their answer.
name = input("What is your name? ")
age = int(input("How old are you? "))
Numbers and the signs that work on them.
y = 3.14
x + y
x - y
x * y
x / y
x // y
x % y
x ** y
abs(-5)
round(3.14159, 2)
Values that are True or False, and the signs that compare.
True
False
5 > 3
5 == 5
5 != 3
5 >= 3
5 <= 3
and or not
Run code only when a condition is True or False.
if x > 5:
elif x == 5:
else:
if x > 5 and x < 10:
if x > 5 or x < 2:
Run code more than once.
while x < 5:
x += 1
for i in range(3):
for fruit in fruits:
break
continue
Group code together and reuse it by name.
def greet():
print("hi")
greet()
def greet(name):
return name
greet("Ana")
Lists hold values in order and can be changed.
fruits = []
fruits = ["apple", "pear"]
fruits[0]
len(fruits)
fruits.append("plum")
fruits.remove("pear")
fruits[0] = "banana"
fruits.pop()
Format text and numbers.
"Hello {}".format("Ana")
f"Hello {name}"
"{:.2f}".format(3.14159)
format(3.14159, ".3g")
Words you will meet in this app.
IDE
zero-index
interpreter
compiler
boolean
operator
terminal
No entry matches that word.
Your code and settings stay on this computer. Quitting closes the editor window.
You have unsaved changes. Save your work before you quit.
Downloading saves the new version only; nothing changes yet. Installing closes the app, puts the new version in place, and opens the app again. Save your work first.