Skip to content

Commit 72d2137

Browse files
committed
Updated README.md to include wikipedia links
1 parent 8bf4dce commit 72d2137

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

README.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
# Python Reasoning Challenges
1+
# Python Programming Puzzles
2+
# (Name Approvers: We would like to rename the repo to Python Programming Puzzles but we can keep it at Python Reasoning Challenges if you prefer)
3+
4+
25

36
This repo contains a dataset of python reasoning challenges which can be used to teach an AI python and evaluate an AI's ability to understand and write python programs.
47

5-
## What is a python reasoning challenge?
8+
## What is a python programming puzzle?
69

7-
Each challenge takes the form of a python function that takes an answer as an argument. The goal is to find an answer which makes the function return `True`.
10+
Each puzzle takes the form of a python function that takes an answer as an argument.
11+
The goal is to find an answer which makes the function return `True`.
12+
This is called *satisfying* the puzzle, and that is why the puzzles are all named `sat`.
813

914
```python
1015
def sat(s: str):
1116
return s + "world" == "Hello world"
1217
```
1318

14-
The answer to the above challenge is the string `"Hello "` because `sat("Hell ")` returns `True`. The challenges range from trivial problems like this, to classic puzzles, to algorithms problems and problems from the [International Mathematical Olympiad](https://en.wikipedia.org/wiki/International_Mathematical_Olympiad) and open problems in mathematics. For instance, the classic [Towers of Hanoi](https://en.wikipedia.org/wiki/Tower_of_Hanoi) puzzle can be written as follows:
19+
The answer to the above puzzle is the string `"Hello "` because `sat("Hell ")` returns `True`. The puzzles range from trivial problems like this, to classic puzzles, to algorithms problems and problems from the [International Mathematical Olympiad](https://en.wikipedia.org/wiki/International_Mathematical_Olympiad) and open problems in mathematics. For instance, the classic [Towers of Hanoi](https://en.wikipedia.org/wiki/Tower_of_Hanoi) puzzle can be written as follows:
1520

1621
```python
1722
def sat(moves: List[List[int]], num_disks=8): # moves is list of [from, to] pairs
@@ -23,15 +28,16 @@ def sat(moves: List[List[int]], num_disks=8): # moves is list of [from, to] pai
2328

2429
```
2530

26-
## Problem sources
31+
## Puzzle sources
2732

2833
The problems in this repo draw inspiration from:
29-
* Wikipedia articles about algorithms and puzzles
34+
* Wikipedia articles about [algorithms](https://en.wikipedia.org/wiki/List_of_algorithms), [puzzles](https://en.wikipedia.org/wiki/Category:Logic_puzzles),
35+
and [math problems](https://en.wikipedia.org/wiki/List_of_unsolved_problems_in_mathematics).
3036
* The website [codeforces.com](https://codeforces.com), a popular website for programming competition problems
3137
* The [International Collegiate Programming Contest](https://icpc.global) (ICPC)
3238
* The [International Mathematical Olympiad](https://en.wikipedia.org/wiki/International_Mathematical_Olympiad) (IMO)
3339

34-
# [Click here to browse the challenges](/problems/README.md)
40+
# [Click here to browse the puzzles](/problems/README.md)
3541

3642
## Summary of the dataset
3743
* Numerous trivial puzzles like `hello world` and reversing a list, useful for learning to program
@@ -49,13 +55,13 @@ The problems in this repo draw inspiration from:
4955
* International Mathematical Olympiad (IMO) problems
5056
* International Collegiate Programming Contest (ICPC) problems
5157
* Competitive programming problems from codeforces.com
52-
* Graph theory algorithmic challenges
58+
* Graph theory algorithmic puzzles
5359
* Shortest path
5460
* Planted clique (open)
5561
* Elementary algebra
5662
* Solving equations
5763
* Solving quadratic, cubic, and quartic equations
58-
* Number theory algorithmic challenges:
64+
* Number theory algorithmic puzzles:
5965
* Finding common divisors (e.g., using Euclid's algorithm)
6066
* Factoring numbers (easy for small factors, over $100k in prizes have been awarded and **open**
6167
for large numbers)

0 commit comments

Comments
 (0)