Skip to content

Commit cb7bf61

Browse files
authored
Merge pull request #1 from exercism/master
Update form exercism
2 parents fb58ad3 + 8b90343 commit cb7bf61

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+744
-289
lines changed

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ A list of missing exercise can be found here: http://exercism.io/languages/pytho
1919

2020
### Conventions
2121

22-
- We use minimalistic stub files for all exercises (#272).
22+
- We use minimalistic stub files for all exercises ([#272](https://github.com/exercism/python/issues/272)).
2323
- We use `unittest` (Python Standard Library) and no 3rd-party-framework.
24-
- We use the parameter order `self.assertEqual(actual, expected)` (#440).
24+
- We use the parameter order `self.assertEqual(actual, expected)` ([#440](https://github.com/exercism/python/issues/440)).
25+
- We use context managers (`with self.assertRaises(\<exception type\>):`) for testing for exceptions ([#477](https://github.com/exercism/python/issues/477)).
26+
- We use `assertIs(actual, True)` and `assertIs(actual, False)` rather than `assertTrue(actual)` or `assertFalse(actual)` ([#419](https://github.com/exercism/python/pull/419)).
27+
- We use a comment string in the test file to reference the version of the exercise's `canonical-data.json` that tests were adapted from (wording can be found in: [#784](https://github.com/exercism/python/issues/784)).
2528

2629

2730
### Testing
@@ -50,24 +53,27 @@ This repo uses [flake8](http://flake8.readthedocs.org/en/latest/) with default s
5053

5154
This repo uses `travis-ci` in the following configuration: [travis.yml](https://github.com/exercism/python/blob/master/.travis.yml)
5255

53-
It will check automatically the code style, the problem configuration and runns the unittests with all supported Python versions.
56+
It will automatically check the code style, the problem configuration, and run the unittests with all supported Python versions.
5457

5558

5659
## Pull Requests
5760

58-
We :heart: pull requests!
61+
We :heart: pull requests!
5962
We even :sparkling_heart: them if they contain well written commit messages!
6063

6164
Please write the first line of your commit message in the following style:
6265

63-
```exercise-name: Change some things```
66+
```exercise-name: Change some things```
6467

6568
Please try to follow the [The seven rules of a great Git commit message](https://chris.beams.io/posts/git-commit/#seven-rules) like to capitalize the subject line and use the imperative mood. If there are more details to add, put those into the body of the commit message.
6669

6770
If you're interested, Tim Pope even has an [entire blog post](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) on good commit messages.
6871

69-
If you're new to Git take a look at [this short guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics).
72+
If you're new to Git, take a look at [this short guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics).
7073

7174

7275
## Python icon
7376
The Python logo is an unregistered trademark. We are using a derived logo with the permission of the Python Software Foundation.
77+
78+
## License
79+
This repository uses the [MIT License](/LICENSE).

config.json

Lines changed: 91 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"unlocked_by": null,
1010
"difficulty": 1,
1111
"topics": [
12-
"control-flow (if-else statements)",
13-
"optional values",
14-
"text formatting"
12+
"conditionals",
13+
"optional_values",
14+
"text_formatting"
1515
]
1616
},
1717
{
@@ -21,7 +21,7 @@
2121
"unlocked_by": null,
2222
"difficulty": 1,
2323
"topics": [
24-
"control-flow (if-else statements)",
24+
"conditionals",
2525
"booleans",
2626
"logic"
2727
]
@@ -46,8 +46,8 @@
4646
"unlocked_by": null,
4747
"difficulty": 1,
4848
"topics": [
49-
"control-flow (loops)",
50-
"control-flow (if-else statements)",
49+
"loops",
50+
"conditionals",
5151
"strings",
5252
"algorithms",
5353
"filtering",
@@ -61,8 +61,8 @@
6161
"unlocked_by": null,
6262
"difficulty": 1,
6363
"topics": [
64-
"control-flow (if-else statements)",
65-
"control-flow (loops)",
64+
"conditionals",
65+
"loops",
6666
"maps",
6767
"strings",
6868
"logic",
@@ -76,8 +76,8 @@
7676
"unlocked_by": null,
7777
"difficulty": 1,
7878
"topics": [
79-
"control-flow (if-else statements)",
80-
"control-flow (loops)",
79+
"conditionals",
80+
"loops",
8181
"sequences",
8282
"sets",
8383
"strings",
@@ -96,8 +96,8 @@
9696
"strings",
9797
"algorithms",
9898
"logic",
99-
"pattern recognition",
100-
"text formatting"
99+
"pattern_recognition",
100+
"text_formatting"
101101
]
102102
},
103103
{
@@ -118,7 +118,9 @@
118118
"unlocked_by": null,
119119
"difficulty": 1,
120120
"topics": [
121-
121+
"strings",
122+
"equality",
123+
"conditionals"
122124
]
123125
},
124126
{
@@ -140,7 +142,11 @@
140142
"unlocked_by": null,
141143
"difficulty": 1,
142144
"topics": [
143-
145+
"strings",
146+
"conditionals",
147+
"dates",
148+
"parsing",
149+
"pattern_recognition"
144150
]
145151
},
146152
{
@@ -152,7 +158,7 @@
152158
"topics": [
153159
"strings",
154160
"logic",
155-
"control-flow (loops)"
161+
"loops"
156162
]
157163
},
158164
{
@@ -367,7 +373,10 @@
367373
"unlocked_by": null,
368374
"difficulty": 1,
369375
"topics": [
370-
376+
"bitwise_operations",
377+
"integers",
378+
"mathematics",
379+
"type_conversion"
371380
]
372381
},
373382
{
@@ -470,8 +479,7 @@
470479
"topics": [
471480
"lists",
472481
"searching",
473-
"loops",
474-
"iteration"
482+
"loops"
475483
]
476484
},
477485
{
@@ -503,7 +511,11 @@
503511
"unlocked_by": null,
504512
"difficulty": 1,
505513
"topics": [
506-
514+
"algorithms",
515+
"conditionals",
516+
"classes",
517+
"exception_handling",
518+
"queues"
507519
]
508520
},
509521
{
@@ -537,7 +549,10 @@
537549
"unlocked_by": null,
538550
"difficulty": 1,
539551
"topics": [
540-
552+
"algorithms",
553+
"cryptography",
554+
"text_formatting",
555+
"lists"
541556
]
542557
},
543558
{
@@ -560,7 +575,13 @@
560575
"unlocked_by": null,
561576
"difficulty": 1,
562577
"topics": [
563-
578+
"algorithms",
579+
"conditionals",
580+
"lists",
581+
"loops",
582+
"mathematics",
583+
"matrices",
584+
"sets"
564585
]
565586
},
566587
{
@@ -582,7 +603,10 @@
582603
"unlocked_by": null,
583604
"difficulty": 1,
584605
"topics": [
585-
606+
"algorithms",
607+
"loops",
608+
"mathematics",
609+
"logic"
586610
]
587611
},
588612
{
@@ -632,7 +656,10 @@
632656
"unlocked_by": null,
633657
"difficulty": 1,
634658
"topics": [
635-
659+
"recursion",
660+
"strings",
661+
"stacks",
662+
"parsing"
636663
]
637664
},
638665
{
@@ -642,7 +669,11 @@
642669
"unlocked_by": null,
643670
"difficulty": 1,
644671
"topics": [
645-
672+
"lists",
673+
"parsing",
674+
"transforming",
675+
"loops",
676+
"games"
646677
]
647678
},
648679
{
@@ -696,7 +727,9 @@
696727
"unlocked_by": null,
697728
"difficulty": 1,
698729
"topics": [
699-
730+
"lists",
731+
"parsing",
732+
"pattern_recognition"
700733
]
701734
},
702735
{
@@ -874,7 +907,7 @@
874907
"time",
875908
"mathematics",
876909
"logic",
877-
"text formatting"
910+
"text_formatting"
878911
]
879912
},
880913
{
@@ -885,7 +918,7 @@
885918
"difficulty": 4,
886919
"topics": [
887920
"files",
888-
"text formatting",
921+
"text_formatting",
889922
"searching"
890923
]
891924
},
@@ -933,7 +966,7 @@
933966
"difficulty": 3,
934967
"topics": [
935968
"strings",
936-
"pattern matching"
969+
"pattern_matching"
937970
]
938971
},
939972
{
@@ -944,7 +977,7 @@
944977
"difficulty": 3,
945978
"topics": [
946979
"strings",
947-
"pattern matching"
980+
"pattern_matching"
948981
]
949982
},
950983
{
@@ -954,9 +987,9 @@
954987
"unlocked_by": null,
955988
"difficulty": 4,
956989
"topics": [
957-
"Control-flow (loops)",
958-
"Arrays",
959-
"Algorithms"
990+
"loops",
991+
"arrays",
992+
"algorithms"
960993
]
961994
},
962995
{
@@ -966,9 +999,9 @@
966999
"unlocked_by": null,
9671000
"difficulty": 1,
9681001
"topics": [
969-
"control-flow (if-else statements)",
970-
"optional values",
971-
"text formatting"
1002+
"conditionals",
1003+
"optional_values",
1004+
"text_formatting"
9721005
]
9731006
},
9741007
{
@@ -978,7 +1011,7 @@
9781011
"unlocked_by": null,
9791012
"difficulty": 1,
9801013
"topics": [
981-
"control-flow (loops)"
1014+
"loops"
9821015
]
9831016
},
9841017
{
@@ -1043,6 +1076,28 @@
10431076
"conditionals"
10441077
]
10451078
},
1079+
{
1080+
"uuid": "4f5f890d-0db4-5480-f79a-21057c37871b15133dc",
1081+
"slug": "zipper",
1082+
"core": false,
1083+
"unlocked_by": null,
1084+
"difficulty": 8,
1085+
"topics": [
1086+
"recursion",
1087+
"searching",
1088+
"trees"
1089+
]
1090+
},
1091+
{
1092+
"uuid": "3a2a947a-01b3-1e80-e32b-de1756fd88365adf12e",
1093+
"slug": "error-handling",
1094+
"core": false,
1095+
"unlocked_by": null,
1096+
"difficulty": 3,
1097+
"topics": [
1098+
"exception_handling"
1099+
]
1100+
},
10461101
{
10471102
"uuid": "e7351e8e-d3ff-4621-b818-cd55cf05bffd",
10481103
"slug": "accumulate",

0 commit comments

Comments
 (0)