Giter VIP home page Giter VIP logo

pythonturtle's Introduction

PythonTurtle

Travis CI AppVeyor Checks Tests GitHub issues GitHub PRs Python versions MIT license Gitter

An educational environment for learning Python, suitable for beginners and children. Inspired by LOGO.

Homepage: http://pythonturtle.org

An Appealing Environment to Learn Python

PythonTurtle strives to provide the lowest-threshold way to learn Python. Students command an interactive Python shell (similar to the IDLE development environment) and use Python functions to move a turtle displayed on the screen.

An illustrated help screen introduces the student to the basics of Python programming while demonstrating how to move the turtle. Simplicity and a colorful visual appearance makes the learning environment more appealing to students.

Screen shot

Installation

Installers for Microsoft Windows and macOS are available from pythonturtle.org and GitHub.

Ubuntu Linux:

sudo apt-get install -y python3-wxgtk4.0

Fedora:

python3 -m pip install wxpython

On any GNU/Linux distribution: (after installing prerequisites from above)

python3 -m pip install --user PythonTurtle
PythonTurtle

If you're into automation:

Ansible tasks for setting up PythonTurtle including a desktop shortcut for GNOME.

Troubleshooting

ImportError: libpng12.so.0: cannot open shared object file: No such file or directory

See https://askubuntu.com/a/978338/14650

Compatibility

Tested with Python version 3.6 and wxPython version 4.0.1. Reported to run on Windows, macOS, Ubuntu Linux, and Fedora.

Development

git clone https://github.com/PythonTurtle/PythonTurtle.git
cd PythonTurtle
python3 -m pythonturtle

Build application bundles like this:

python3 setup.py clean bundle

Please open a pull request for contributions or bug fixes. If you can, please also add tests.

Citing PythonTurtle

If you refer to PythonTurtle in academic work, please use this citation format:

@misc{rachum2009pythonturtle,
    author={Rachum, Ram and Bittner, Peter and others},
    title={PythonTurtle: A learning environment for Python suited for beginners and children, inspired by Logo},
    month={may},
    year={2009},
    publisher={GitHub},
    doi={10.5281/zenodo.10465283},
    url={https://github.com/PythonTurtle/PythonTurtle/}
}

License

This project is licensed under the MIT license.

pythonturtle's People

Contributors

bittner avatar cclauss avatar cool-rr avatar cvanes avatar devansh2005 avatar ryneeverett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pythonturtle's Issues

feedback

I may get roasted for this comment, but i think a turtle module
along the lines of what you have here would better serve the stdlib.
The current implementation is great, but the whole purpose of turtle
is to help children or non-programmers get a feel of the language in a
very, very, simple and fun way. Your app is presented in much the same
way as any over-the-counter windows app any non-programmer has seen
before making them feel a little more comfortable.

[warning wild speculations ahead!!]
I just guessing here, but i'll bet many of these noobs have found
the current turtle just a wee-bit more advanced than they can handle,
and some have been scared off. I would also venture to say a key-map
of sorts that is available thru the help menu where one could push an
"Up" button, or a "rotate" button, and have the proper command
inserted in the prompt, and then have the command execute, may also
help make the connections here, a sort of real Visual Basic
programming -- sorry Microsoft :P

Icons

Need to make an icon. Then make py2exe associate it with the executable:
http://www.py2exe.org/index.cgi/CustomIcons
In this link there are also instructions for making wxPython show the icon inside the program.

Tzion needs to mail me the turtle image so I can do this.

Mac problem

From http://www.reddit.com/r/programming/comments/9733s/pythonturtle_the_lowestthreshold_way_to_learn/c0bntw4 :

It took some jiggering but I got it running. After installing wx I tried to run it and it couldn't find psyco. I easy_installed psyco but it still wouldn't go. No problem, I just commented out the psyco import ... and it launched.

But when i submit commands to move the turtle the screen doesn't refresh. The output spits out this error repeatedly (about ones every 0.25 seconds or so):

Traceback (most recent call last):
File "/downloads/cool-RR-PythonTurtle-6e1655072c2ef1825456697fac58702738fe01f9/src/turtlewidget.py", line 84, in on_idle
if self.turtle_queue.qsize()>0: self.Refresh()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/multiprocessing/queues.py", line 113, in qsize
return self._maxsize - self._sem._semlock._get_value()
NotImplementedError

If I go to the help screen and then back to the command screen - it draws the updated screen.

Mac problem

From http://www.reddit.com/r/programming/comments/9733s/pythonturtle_the_lowestthreshold_way_to_learn/c0bntw4 :

It took some jiggering but I got it running. After installing wx I tried to run it and it couldn't find psyco. I easy_installed psyco but it still wouldn't go. No problem, I just commented out the psyco import ... and it launched.

But when i submit commands to move the turtle the screen doesn't refresh. The output spits out this error repeatedly (about ones every 0.25 seconds or so):

Traceback (most recent call last):
File "/downloads/cool-RR-PythonTurtle-6e1655072c2ef1825456697fac58702738fe01f9/src/turtlewidget.py", line 84, in on_idle
if self.turtle_queue.qsize()>0: self.Refresh()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/multiprocessing/queues.py", line 113, in qsize
return self._maxsize - self._sem._semlock._get_value()
NotImplementedError

If I go to the help screen and then back to the command screen - it draws the updated screen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.