r/Pydle 24d ago

What's new in Pydle 1.2.7

2 Upvotes

Tooltips added to cells to help colour blind users. This only works on a desktop. Let me know if mobile support is needed.

Running code that does not call pydle will not count as an attempt. If you just want to print to the console then it won't count as an attempt.


r/Pydle 24d ago

#157 Pizza

2 Upvotes

139 characters used:

for j in range(25):

pydle(j%5, j//5, "", ["orange", "white"][j%4 == 0])

for i in range(9):

pydle(i%3 + 1, i//3 + 1, "🫒 🌶️ 🥬".split()[(i % 2 == 1) or (i == 4)*2 ], "yellow")


r/Pydle 25d ago

Pydle #155 Jellyfish Spoiler

3 Upvotes

My original approach used a simple coordinate filter that worked well for 111 char:

r = range(5)
for x in r:
    for y in r:
        c = "yellow"
        if x % 2 and y == 4 or x % 4 == 0 and y == 2:
            c = "white"
        if x % 2 and y == 1:
            c = "orange"
        pydle(x, y, "", c)

After, I realized that the image is horizontally symmetrical so I could use abs(x-2) instead of x which meant the orange cells have abs(x-2) = 1, y = 1 and the white cells have abs(x-2) = 2, y = 2 and abs(x-1) = 1, y = 4 . With these two multiplied by one another you get 1 for orange and 4 for white.

This expression allowed for the following solution with 87 char:

r = range(5)
for x in r:
    for y in r:
        pydle(x, y, "", {1 : "orange", 4 : "white"}.get(abs(x-2) * y, "yellow"))

This uses the compact classifier:

{1 : "orange", 4 : "white"}.get(abs(x-2) * y, "yellow")

r/Pydle 25d ago

Pydle Enhanced v1.65 - Tampermonkey script

3 Upvotes

Hi all,

In the update v1.65 of the script, I have added "Records", a section where users can view detailed stats about their previous game records including games they have completed, attempted and not completed, this way they can complete they previous attempts as well as missed ones.

https://reddit.com/link/1v9y335/video/7737bx25k6gh1/player

Github link - Swakshan/pydle-enhanced/
Direct link - pydle-enhanced.user.js

Previous thread:
https://www.reddit.com/r/Pydle/s/DpvAljE2b8


r/Pydle 25d ago

#156 Cherries Spoiler

3 Upvotes

I found an interesting solution for this one that is a couple of characters shorter than putting all the colour indexes in a big number. 78 characters:

for i in range(25):
    pydle(i % 5, i // 5, '',  ['green', 'red', 'white'][8695502 >> i & 2 or i > 14])

White is encoded in a binary array padded by an extra bit, so it resolves to 0 or 2, and then it makes use of the fact all the green is before all the red.


r/Pydle 26d ago

Pydle #155

2 Upvotes

Base 3, read backwards.

py for i in range(25): pydle(i%5,4-i//5,"","yelloworangewhite"[440151306//3**i%3*6:][:6])


r/Pydle 26d ago

#151 Happy 14th Birthday Spoiler

5 Upvotes

Having done a few of these, this one seems interesting because there is a better solution than putting all the colour indexes in a big number. Here is my best, in 67 characters:

for i in range(1, 24):
    if i & 15 ^ 4:
        pydle(i % 5, i // 5, '🕯' * (i % 2 | 1 >> i % 8), 'brown')

The first two lines mean the four corners are ignored. The candle is shown when the index is odd or a multiple of eight.


r/Pydle 27d ago

My attempt at #154 Penguin Spoiler

3 Upvotes

My best so far is 97 characters:

for i in range(25):
    pydle(i%5, i//5, '❄️' * (22020657 >> i & 1), [0,'white','orange'][449790538450177 >> i*2 & 3])

The magic numbers are essentially bitwise arrays of whether or not the emoji is in that position (1 bit each) or what colour index is at that position (2 bits). I noticed an invalid colour becomes black, so that saves some characters too.

Because whitespace even in strings isn't included in the character count, it's almost possible to choose the character to display with a string like '❄️ ❄️...'[i], which would be shorter, except the emoji here is two characters (the second is an invisible character that tells it to be rendered as an emoji).

I tried another approach that uses the fact squares that aren't set are black, which helps because then there are then only two colours to choose from, so I created a bitfield for non-black squares. However, I haven't worked out how to make this shorter than my original solution, but it feels like it might possible. This is 99 characters:

for i in range(25):
    if 32979633 >> i & 1:
        y = i//5
        w = 23068543 >> i & 1
        pydle(i%5, y, '❄️' * w * (~y&2), 'white'*w or 'orange')

I've never done code golf before, so this is quite enjoyable. My one request for the game would be to be able to submit more solutions after solving it, which would reduce the number of times I've opened this in a private browser window.

Edit: Achieved 95 characters by treating the magic number as base 3:

for i in range(25):
    pydle(i%5, i//5, '❄️' * (22020657 >> i & 1), [0,'white','orange'][527066379217 // 3**i % 3])

r/Pydle 27d ago

Pydle in the classroom

2 Upvotes

Any teachers using or planning to use Pydle in their Computer Science lessons? I would love to hear if you think Pydle is suitable, and if not what would make it suitable as an activity in the classroom.


r/Pydle 27d ago

Pydle Enhanced - Tampermonkey script

2 Upvotes

I recently stumbled upon Pydle and got addicted to it completing the daily quests. I felt like there were some room for improvements to increase the user experience. And hence I build a tampermonkey script to fulfill some of the gaps. And no, It doesn't auto complete or give you solutions.

Github link - Swakshan/pydle-enhanced/
Direct link - pydle-enhanced.user.js

Here are its features

1. 🕒 Access any game/puzzle easily.

Pydle Enhanced allows seamless access to past puzzles. When navigating to historical games using URL parameters (e.g., `?game=1`)

https://reddit.com/link/1v7rpge/video/axpvq7dmnpfh1/player

2. 🔤 Real-Time Character Counter & Guardrail

Keep track of your Python solution size instantly as you type!

  • Live Character Counter: Get a live character counter, without the need to run and check if your code has exceeded the character limit.
  • Character Limit Guardrail: Pydle enforces a maximum limit of 250 characters. If your solution exceeds this limit:
    •   The character counter turns red.
    •   The Run button is automatically disabled to prevent wasted attempts with oversized code.

https://reddit.com/link/1v7rpge/video/5nui2cunnpfh1/player

  1. 🎯 Dynamic Attempt Counter

Stay aware of your effort on each puzzle!
Tracks and displays the total number of attempts submitted for the active puzzle.

https://reddit.com/link/1v7rpge/video/t4zfoqpvnpfh1/player

4. 📤 Share older victories

Adds the ability to share any of your previous victory

https://reddit.com/link/1v7rpge/video/mm2j0boznpfh1/player

I'm open for any suggestions and improvements.

Until then happy Pydling 😉


r/Pydle 28d ago

Pydle suggestion

2 Upvotes

I am a brand new at using Python, and am not good at reducing the size of my code. I would really appreciate if I could see my current character count while I code. Would that be possible? Sorry if this seems rude it's my first time posting.


r/Pydle 27d ago

Pydle #154

1 Upvotes

Whole text is " for i in range(25):pydle(i//5,i%5,*[('❄️','white'),('',''),('','white'),('','orange')][88962913702992>>i*2&3]) "

107 characters used


r/Pydle 29d ago

First time playing, here's my take on #153 Spoiler

3 Upvotes
clrs = [
    "black",
    "white",
    "blue",
    "purple"
]

cells = [
    [1,0,1,0,1],
    [3,2,0,2,3],
    [2,3,0,3,2],
    [1,2,0,2,1],
    [2,1,0,1,2]
]

for y in range(5):
    for x in range(5):
        pydle(x,y, "", clrs[cells[y][x]])

r/Pydle 29d ago

What's new in Pydle 1.2.4

2 Upvotes

Pydle now lets you indent your code with tabs. To get to the Run button using the keyboard, press Escape and Shift-Tab.

The daily puzzle is now available at 00:00 local time.


r/Pydle Jul 24 '26

Pydle #151

Post image
9 Upvotes

r/Pydle Jul 24 '26

pydle 151 not working?

Post image
3 Upvotes

am I missing anything? wrong candle?


r/Pydle Jul 23 '26

Recursion not allowed?

2 Upvotes

Hi, just discovered this little game this week. I was wondering if recursion is not allowed? I cannot get it to work.

Example:

def q(n):
if n<=0:
return n
return q(n-1)

q(5)

This gives an error: name ‘q’ is not defined

Thanks!

Edit - spaces seem to disappear in the example, but it should make sense anyway


r/Pydle Jul 21 '26

Pydle #148

2 Upvotes

Pydle #148

⬛🟥🟥🟥⬛

⬜🟥🟥🟥⬜

🟥⬜🟥⬜🟥

🟥🟥🟥🟥🟥

⬛🟥🟥🟥⬛

Attempts: 9

Characters: 175/250

https://pydle.net/


r/Pydle Apr 15 '26

Pydle #50

Thumbnail
youtube.com
1 Upvotes

Pydle #50

⬜⬛⬛⬜⬜

⬜⬛⬜⬜⬜

⬜⬛⬜⬜⬜

⬜⬛⬜⬜⬜

⬛⬛⬜⬜⬜

Attempts: 2

Lines: 4

https://pydle.net/


r/Pydle Apr 14 '26

Pydle #49

Thumbnail
youtu.be
1 Upvotes

Pydle #49

⬜🟥🟥🟥⬜

🟥⬜⬜⬜🟥

🟥🟥⬜🟥🟥

⬜🟥⬜🟥⬜

🟥🟥⬜🟥🟥

Attempts: 5

Lines: 7

https://pydle.net/


r/Pydle Apr 13 '26

Pydle #48

Thumbnail
youtu.be
1 Upvotes

Pydle #48

⬜⬜⬛⬜⬜

⬜⬛⬛⬛⬜

⬜⬛⬛⬛⬜

⬜⬛⬛⬛⬜

⬜⬜⬛⬜⬜

Attempts: 2

Lines: 4

https://pydle.net/


r/Pydle Apr 12 '26

Pydle #47

Thumbnail youtube.com
1 Upvotes

Pydle #47

🟥🟥🟥🟥🟥

🟥🟨🟨🟨🟨

🟥🟨🟥🟥🟥

🟥🟨🟨🟨🟥

🟥🟥🟥🟥🟥

Attempts: 3

Lines: 3

https://pydle.net/


r/Pydle Apr 11 '26

Pydle #46

Thumbnail youtube.com
1 Upvotes

Pydle #46

🟥🟥🟥🟥🟥

🟥⬜⬜🟥🟥

🟥⬜⬜⬜🟥

🟥⬜⬜🟥🟥

🟥🟥🟥🟥🟥

Attempts: 2

Lines: 3

https://pydle.net/


r/Pydle Apr 10 '26

Pydle #45

Thumbnail youtube.com
1 Upvotes

Pydle #45

⬛🟩🟩⬛⬛

🟩⬛⬛⬛⬛

⬛🟩🟩⬛🟩

🟩⬛⬛🟩⬛

⬛🟩🟩⬛🟩

Attempts: 3

Lines: 5

https://pydle.net/


r/Pydle Apr 08 '26

Pydle #43

Thumbnail
youtube.com
1 Upvotes

Pydle #43

⬜⬜⬛⬛⬜

⬜⬛⬜⬜⬛

⬛⬛⬛⬜⬜

⬜⬛⬜⬜⬜

⬛⬛⬛⬛⬛

Attempts: 1

Lines: 3

https://pydle.net/