← Back Peter the Python

Lesson 0: Say Hello

Why?

First words! Use print() to make Peter say something.

What to type

Type print("Hello, Python!") and press Run.

⭐ Stars: 0 🐞 Bugs: 0

Next Lesson →



    
Hint

Parentheses are like hands that hold your words: ( ).

from js import document, localStorage, window import sys, io START = '''# Make Peter speak! print("Hello, Python!") # change the message if you want ''' SOLN = '''print("Hello, Python!")''' def gi(k): v = localStorage.getItem(k) try: return int(v) if v is not None else 0 except: return 0 def setb(stars=None, bugs=None): if stars is not None: localStorage.setItem('stars', str(stars)) if bugs is not None: localStorage.setItem('bugs', str(bugs)) document.getElementById('stars').textContent = f'⭐ Stars: {gi("stars")}' document.getElementById('bugs').textContent = f'🐞 Bugs: {gi("bugs")}' def run(evt): src = document.getElementById('editor').value out_el = document.getElementById('out') f = io.StringIO() try: old = sys.stdout; sys.stdout = f try: exec(src, {}) finally: sys.stdout = old output = f.getvalue() out_el.textContent = "Your output:\n" + output + "\nExpected:\nHello, Python!\n\nAll checks passed! ⭐" setb(stars=gi('stars')+1) try: window.confetti() except: pass except Exception as e: out_el.textContent = "Bug found: " + str(e) setb(bugs=gi('bugs')+1) document.getElementById('run').addEventListener('click', run) document.getElementById('fill-start').addEventListener('click', lambda e: setattr(document.getElementById('editor'), 'value', START)) document.getElementById('fill-solution').addEventListener('click', lambda e: setattr(document.getElementById('editor'), 'value', SOLN)) if not document.getElementById('editor').value: document.getElementById('editor').value = START setb()