Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: IVY-bug/python-coding-challenges
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: freeCodeCamp/python-coding-challenges
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing with 10,488 additions and 4,440 deletions.
  1. +15 −9 .gitignore
  2. +48 −0 CONTRIBUTING.md
  3. +28 −1 README.md
  4. +0 −3,340 animate.css
  5. +0 −671 animate.js
  6. +6 −0 build/asset-manifest.json
  7. BIN build/favicon.ico
  8. +1 −0 build/index.html
  9. +15 −0 build/manifest.json
  10. +1 −0 build/service-worker.js
  11. +2 −0 build/static/css/main.827ee0f1.css
  12. +1 −0 build/static/css/main.827ee0f1.css.map
  13. +2 −0 build/static/js/main.7ea798fc.js
  14. +1 −0 build/static/js/main.7ea798fc.js.map
  15. +1 −33 challenges.json
  16. 0 jsconfig.json → challenges/0.1.Intro/lesson.md
  17. 0 challenges/0.1.Intro/lesson_settings.json
  18. 0 challenges/0.1.Intro/lesson_tests.py
  19. 0 challenges/0.1.Intro/main.py
  20. +34 −0 challenges/1.1.Print/lesson.md
  21. +7 −0 challenges/1.1.Print/lesson_settings.json
  22. +10 −0 challenges/1.1.Print/lesson_tests.py
  23. +1 −0 challenges/1.1.Print/main.py
  24. +20 −0 challenges/1.2.Escape_Characters/lesson.md
  25. +7 −0 challenges/1.2.Escape_Characters/lesson_settings.json
  26. +7 −0 challenges/1.2.Escape_Characters/lesson_tests.py
  27. +4 −0 challenges/1.2.Escape_Characters/main.py
  28. +24 −0 challenges/1.3.Input/lesson.md
  29. +7 −0 challenges/1.3.Input/lesson_settings.json
  30. +10 −0 challenges/1.3.Input/lesson_tests.py
  31. +12 −0 challenges/1.3.Input/main.py
  32. +28 −0 challenges/2.1.NumberTypes/lesson.md
  33. +7 −0 challenges/2.1.NumberTypes/lesson_settings.json
  34. +8 −0 challenges/2.1.NumberTypes/lesson_tests.py
  35. +9 −0 challenges/2.1.NumberTypes/main.py
  36. +33 −0 challenges/2.2.Strings/lesson.md
  37. +7 −0 challenges/2.2.Strings/lesson_settings.json
  38. +9 −0 challenges/2.2.Strings/lesson_tests.py
  39. +11 −0 challenges/2.2.Strings/main.py
  40. +20 −0 challenges/2.3.Tuples/lesson.md
  41. +7 −0 challenges/2.3.Tuples/lesson_settings.json
  42. +13 −0 challenges/2.3.Tuples/lesson_tests.py
  43. +11 −0 challenges/2.3.Tuples/main.py
  44. +25 −0 challenges/2.4.Lists/lesson.md
  45. +7 −0 challenges/2.4.Lists/lesson_settings.json
  46. +11 −0 challenges/2.4.Lists/lesson_tests.py
  47. +9 −0 challenges/2.4.Lists/main.py
  48. +25 −0 challenges/2.5.Sets/lesson.md
  49. +7 −0 challenges/2.5.Sets/lesson_settings.json
  50. +7 −0 challenges/2.5.Sets/lesson_tests.py
  51. +5 −0 challenges/2.5.Sets/main.py
  52. 0 challenges/2.6.Dictionaries/lesson.md
  53. +7 −0 challenges/2.6.Dictionaries/lesson_settings.json
  54. 0 challenges/2.6.Dictionaries/lesson_tests.py
  55. 0 challenges/2.6.Dictionaries/main.py
  56. +22 −0 challenges/3.1.Assignment_Operator/lesson.md
  57. +7 −0 challenges/3.1.Assignment_Operator/lesson_settings.json
  58. +7 −0 challenges/3.1.Assignment_Operator/lesson_tests.py
  59. +7 −0 challenges/3.1.Assignment_Operator/main.py
  60. +23 −0 challenges/3.2.Equality_Operator/lesson.md
  61. +7 −0 challenges/3.2.Equality_Operator/lesson_settings.json
  62. +15 −0 challenges/3.2.Equality_Operator/lesson_tests.py
  63. +9 −0 challenges/3.2.Equality_Operator/main.py
  64. +23 −0 challenges/3.3.Inequality_Operator/lesson.md
  65. +7 −0 challenges/3.3.Inequality_Operator/lesson_settings.json
  66. +15 −0 challenges/3.3.Inequality_Operator/lesson_tests.py
  67. +9 −0 challenges/3.3.Inequality_Operator/main.py
  68. +23 −0 challenges/3.4.Strictly_Less_Than_Operator/lesson.md
  69. +7 −0 challenges/3.4.Strictly_Less_Than_Operator/lesson_settings.json
  70. +19 −0 challenges/3.4.Strictly_Less_Than_Operator/lesson_tests.py
  71. +10 −0 challenges/3.4.Strictly_Less_Than_Operator/main.py
  72. +24 −0 challenges/3.5.Less_Than_Equal_To_Operator/lesson.md
  73. +7 −0 challenges/3.5.Less_Than_Equal_To_Operator/lesson_settings.json
  74. +19 −0 challenges/3.5.Less_Than_Equal_To_Operator/lesson_tests.py
  75. +10 −0 challenges/3.5.Less_Than_Equal_To_Operator/main.py
  76. +24 −0 challenges/3.6.Greater_Than_Equal_To_Operator/lesson.md
  77. +7 −0 challenges/3.6.Greater_Than_Equal_To_Operator/lesson_settings.json
  78. +19 −0 challenges/3.6.Greater_Than_Equal_To_Operator/lesson_tests.py
  79. +10 −0 challenges/3.6.Greater_Than_Equal_To_Operator/main.py
  80. +24 −0 challenges/3.7.Strictly_Greater_Than_Operator/lesson.md
  81. +7 −0 challenges/3.7.Strictly_Greater_Than_Operator/lesson_settings.json
  82. +20 −0 challenges/3.7.Strictly_Greater_Than_Operator/lesson_tests.py
  83. +10 −0 challenges/3.7.Strictly_Greater_Than_Operator/main.py
  84. +35 −0 challenges/3.8.False_Operator/lesson.md
  85. +7 −0 challenges/3.8.False_Operator/lesson_settings.json
  86. +9 −0 challenges/3.8.False_Operator/lesson_tests.py
  87. +4 −0 challenges/3.8.False_Operator/main.py
  88. +26 −0 challenges/3.9.True_Operator/lesson.md
  89. +7 −0 challenges/3.9.True_Operator/lesson_settings.json
  90. +9 −0 challenges/3.9.True_Operator/lesson_tests.py
  91. +4 −0 challenges/3.9.True_Operator/main.py
  92. +26 −0 challenges/3.A.Logical_And_Operator/lesson.md
  93. +7 −0 challenges/3.A.Logical_And_Operator/lesson_settings.json
  94. +12 −0 challenges/3.A.Logical_And_Operator/lesson_tests.py
  95. +7 −0 challenges/3.A.Logical_And_Operator/main.py
  96. +21 −0 challenges/3.B.Logical_Not_Operator/lesson.md
  97. +7 −0 challenges/3.B.Logical_Not_Operator/lesson_settings.json
  98. +10 −0 challenges/3.B.Logical_Not_Operator/lesson_tests.py
  99. +4 −0 challenges/3.B.Logical_Not_Operator/main.py
  100. +28 −0 challenges/3.C.Logical_Or_Operator/lesson.md
  101. +7 −0 challenges/3.C.Logical_Or_Operator/lesson_settings.json
  102. +12 −0 challenges/3.C.Logical_Or_Operator/lesson_tests.py
  103. +7 −0 challenges/3.C.Logical_Or_Operator/main.py
  104. +31 −0 challenges/3.D.Is_Operator/lesson.md
  105. +7 −0 challenges/3.D.Is_Operator/lesson_settings.json
  106. +10 −0 challenges/3.D.Is_Operator/lesson_tests.py
  107. +8 −0 challenges/3.D.Is_Operator/main.py
  108. +31 −0 challenges/3.E.Is_Not_Operator/lesson.md
  109. +7 −0 challenges/3.E.Is_Not_Operator/lesson_settings.json
  110. +10 −0 challenges/3.E.Is_Not_Operator/lesson_tests.py
  111. +8 −0 challenges/3.E.Is_Not_Operator/main.py
  112. +23 −0 challenges/3.F.In_Operator/lesson.md
  113. +7 −0 challenges/3.F.In_Operator/lesson_settings.json
  114. +9 −0 challenges/3.F.In_Operator/lesson_tests.py
  115. +7 −0 challenges/3.F.In_Operator/main.py
  116. +23 −0 challenges/3.G.Not_In_Operator/lesson.md
  117. +7 −0 challenges/3.G.Not_In_Operator/lesson_settings.json
  118. +9 −0 challenges/3.G.Not_In_Operator/lesson_tests.py
  119. +7 −0 challenges/3.G.Not_In_Operator/main.py
  120. +15 −0 challenges/4.1.Addition/lesson.md
  121. +7 −0 challenges/4.1.Addition/lesson_settings.json
  122. +11 −0 challenges/4.1.Addition/lesson_tests.py
  123. +7 −0 challenges/4.1.Addition/main.py
  124. +16 −0 challenges/4.2.Subtraction/lesson.md
  125. +7 −0 challenges/4.2.Subtraction/lesson_settings.json
  126. +11 −0 challenges/4.2.Subtraction/lesson_tests.py
  127. +7 −0 challenges/4.2.Subtraction/main.py
  128. +16 −0 challenges/4.3.Multiplication/lesson.md
  129. +7 −0 challenges/4.3.Multiplication/lesson_settings.json
  130. +7 −0 challenges/4.3.Multiplication/lesson_tests.py
  131. +7 −0 challenges/4.3.Multiplication/main.py
  132. +18 −0 challenges/4.4.Float_Division/lesson.md
  133. +7 −0 challenges/4.4.Float_Division/lesson_settings.json
  134. +7 −0 challenges/4.4.Float_Division/lesson_tests.py
  135. +7 −0 challenges/4.4.Float_Division/main.py
  136. +18 −0 challenges/4.5.Integer_Division/lesson.md
  137. +7 −0 challenges/4.5.Integer_Division/lesson_settings.json
  138. +7 −0 challenges/4.5.Integer_Division/lesson_tests.py
  139. +7 −0 challenges/4.5.Integer_Division/main.py
  140. +22 −0 challenges/4.6.Exponents/lesson.md
  141. +7 −0 challenges/4.6.Exponents/lesson_settings.json
  142. +7 −0 challenges/4.6.Exponents/lesson_tests.py
  143. +10 −0 challenges/4.6.Exponents/main.py
  144. +30 −0 challenges/4.7.Remainder/lesson.md
  145. +7 −0 challenges/4.7.Remainder/lesson_settings.json
  146. +7 −0 challenges/4.7.Remainder/lesson_tests.py
  147. +7 −0 challenges/4.7.Remainder/main.py
  148. +21 −0 challenges/4.8.Divmod/lesson.md
  149. +7 −0 challenges/4.8.Divmod/lesson_settings.json
  150. +7 −0 challenges/4.8.Divmod/lesson_tests.py
  151. +9 −0 challenges/4.8.Divmod/main.py
  152. +20 −0 challenges/4.9.Square_Root/lesson.md
  153. +7 −0 challenges/4.9.Square_Root/lesson_settings.json
  154. +7 −0 challenges/4.9.Square_Root/lesson_tests.py
  155. +9 −0 challenges/4.9.Square_Root/main.py
  156. +19 −0 challenges/4.A.Sum/lesson.md
  157. +7 −0 challenges/4.A.Sum/lesson_settings.json
  158. +7 −0 challenges/4.A.Sum/lesson_tests.py
  159. +10 −0 challenges/4.A.Sum/main.py
  160. +19 −0 challenges/4.B.Rounding/lesson.md
  161. +7 −0 challenges/4.B.Rounding/lesson_settings.json
  162. +7 −0 challenges/4.B.Rounding/lesson_tests.py
  163. +9 −0 challenges/4.B.Rounding/main.py
  164. +20 −0 challenges/4.C.Absolute_Value/lesson.md
  165. +7 −0 challenges/4.C.Absolute_Value/lesson_settings.json
  166. +7 −0 challenges/4.C.Absolute_Value/lesson_tests.py
  167. +7 −0 challenges/4.C.Absolute_Value/main.py
  168. +16 −0 challenges/4.D.Min_Value/lesson.md
  169. +7 −0 challenges/4.D.Min_Value/lesson_settings.json
  170. +7 −0 challenges/4.D.Min_Value/lesson_tests.py
  171. +9 −0 challenges/4.D.Min_Value/main.py
  172. +16 −0 challenges/4.E.Max_Value/lesson.md
  173. +7 −0 challenges/4.E.Max_Value/lesson_settings.json
  174. +7 −0 challenges/4.E.Max_Value/lesson_tests.py
  175. +9 −0 challenges/4.E.Max_Value/main.py
  176. 0 challenges/5.1.Variables/lesson.md
  177. 0 challenges/5.1.Variables/lesson_settings.json
  178. 0 challenges/5.1.Variables/lesson_tests.py
  179. 0 challenges/5.1.Variables/main.py
  180. +30 −0 challenges/6.1.Conditionals/lesson.md
  181. +7 −0 challenges/6.1.Conditionals/lesson_settings.py
  182. +7 −0 challenges/6.1.Conditionals/lesson_tests.py
  183. +8 −0 challenges/6.1.Conditionals/main.py
  184. +38 −0 challenges/7.1.Loops/lesson.md
  185. +7 −0 challenges/7.1.Loops/lesson_settings.py
  186. +7 −0 challenges/7.1.Loops/lesson_tests.py
  187. +12 −0 challenges/7.1.Loops/main.py
  188. +23 −0 challenges/8.1.Built_In_Functions/lesson.md
  189. +7 −0 challenges/8.1.Built_In_Functions/lesson_settings.json
  190. +10 −0 challenges/8.1.Built_In_Functions/lesson_tests.py
  191. +8 −0 challenges/8.1.Built_In_Functions/main.py
  192. +25 −0 challenges/8.2.User_Defined_Functions/lesson.md
  193. +7 −0 challenges/8.2.User_Defined_Functions/lesson_settings.json
  194. +28 −0 challenges/8.2.User_Defined_Functions/lesson_tests.py
  195. +6 −0 challenges/8.2.User_Defined_Functions/main.py
  196. +31 −0 challenges/8.3.Function_Documentation_Strings/lesson.md
  197. +7 −0 challenges/8.3.Function_Documentation_Strings/lesson_settings.json
  198. +8 −0 challenges/8.3.Function_Documentation_Strings/lesson_tests.py
  199. +9 −0 challenges/8.3.Function_Documentation_Strings/main.py
  200. +25 −0 challenges/8.4.Arguments_Vs_Parameters/lesson.md
  201. +7 −0 challenges/8.4.Arguments_Vs_Parameters/lesson_settings.json
  202. +17 −0 challenges/8.4.Arguments_Vs_Parameters/lesson_tests.py
  203. +9 −0 challenges/8.4.Arguments_Vs_Parameters/main.py
  204. +22 −0 challenges/8.5.Default_Arguments/lesson.md
  205. +7 −0 challenges/8.5.Default_Arguments/lesson_settings.json
  206. +9 −0 challenges/8.5.Default_Arguments/lesson_tests.py
  207. +11 −0 challenges/8.5.Default_Arguments/main.py
  208. +25 −0 challenges/8.6.Calling_Functions/lesson.md
  209. +7 −0 challenges/8.6.Calling_Functions/lesson_settings.json
  210. +8 −0 challenges/8.6.Calling_Functions/lesson_tests.py
  211. +9 −0 challenges/8.6.Calling_Functions/main.py
  212. +40 −0 challenges/8.7.Keyword_Arguments/lesson.md
  213. +7 −0 challenges/8.7.Keyword_Arguments/lesson_settings.json
  214. +17 −0 challenges/8.7.Keyword_Arguments/lesson_tests.py
  215. +10 −0 challenges/8.7.Keyword_Arguments/main.py
  216. +40 −0 challenges/8.8.Positional_Arguments/lesson.md
  217. +7 −0 challenges/8.8.Positional_Arguments/lesson_settings.json
  218. +15 −0 challenges/8.8.Positional_Arguments/lesson_tests.py
  219. +10 −0 challenges/8.8.Positional_Arguments/main.py
  220. +4 −0 challenges/classroom_settings.json
  221. +91 −0 generate-challenge-json.js
  222. +0 −27 gulpfile.js
  223. +0 −59 index.html
  224. +0 −115 load-challenges.js
  225. +7,051 −0 package-lock.json
  226. +20 −18 package.json
  227. BIN public/favicon.ico
  228. +42 −0 public/index.html
  229. +15 −0 public/manifest.json
  230. +169 −0 src/App.js
  231. +13 −0 src/ChallengeNotFound.js
  232. +100 −0 src/ChallengeView.js
  233. +20 −0 src/CurriculumComplete.js
  234. +18 −0 src/GetStarted.js
  235. +73 −0 src/Map.js
  236. +27 −0 src/Navbar.js
  237. +1 −0 src/challenges.json
  238. +17 −0 src/index.js
  239. +51 −0 src/registerServiceWorker.js
  240. +27 −0 src/styles/App.css
  241. +43 −0 src/styles/ChallengeView.css
  242. +3 −0 src/styles/CurriculumComplete.css
  243. +22 −0 src/styles/GetStarted.css
  244. +77 −0 src/styles/Map.css
  245. +39 −0 src/styles/Navbar.css
  246. +20 −0 src/styles/index.css
  247. +0 −167 stylesheet.css
24 changes: 15 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
# Logs
logs
*.log
npm-debug.log*
# dependencies
/node_modules

# Dependency directories
node_modules
# testing
/coverage

# Editor settings
.vscode
# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

vendor
npm-debug.log*
yarn-debug.log*
yarn-error.log*
48 changes: 48 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Contributing Guidelines

Welcome to the FreeCodeCamp Python Curriculum contributing guidelines. Here you will find information on:

1. Reporting bugs
2. Suggesting a new feature
3. Suggesting a new challenge
4. Fixing/Updating an existing challenge

## Set Up Local Development Environment

1. Fork this repo
2. Clone to your machine
3. `cd` into repository directory
4. run `npm install`
5. ren `npm run start` to start application
6. Code!

## Reporting bugs

Have you discovered a bug within the application?
- Open a new issue titled: '[Bug] Title/Description of bug'
- Include which machine, browser & version bug was discovered on
- Include steps to reproduce the bug

## Suggesting a new feature

Have an idea for a feature to make the app better?
- Open a new issue titled: '[New Feature] Feature title'
- Include a brief description what it is and how it will benefit application
- Propose some sort of pseudocode for how to potentially implement this feature

## Suggesting a new challenge

Want to add to the curriculum?
- Open a new issue titled: '[New Challenge] Challenge title'
- Include why this would benefit the curriculum
- Include resources needed to write the challenge

## Fixing/Updating an existing challenge

Find a mistake in an existing challenge?
- Open a new issue titled: '[Fix Challenge] Challenge title'
- Indicate whats wrong with the challenge
- Propose what needs to be done to fix it if applicable

# Thank you for contributing!
We couldn't do this without you :heart:
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
FreeCodeCamp Python Curriculum
=============

View live: https://freecodecamp.github.io/python-coding-challenges

To run locally:
1. Fork this repo
2. Run `git clone [your-fork-url]`
3. Run `npm install`
4. Run `npm start`
4. Run `npm run start`

Adding a new challenge or fixing an existing one?

- Generating challenge ID:
1. Open your terminal
2. run `mongo`
3. run `ObjectId()`
4. copy string and paste into lesson_settings.json

- Building challenges.json file:
1. Open your terminal
2. Navigate to project directory
3. run `node generate-challenge-json.js`
4. if no errors are thrown you're good to commit and open a pr

- Opening a PR
1. Include a reference to the issue
2. If its a new challenge, mention the chapter its being added to
3. continue being awesome and helping us create this curriculum!


Maintaining your Fork:
1. `git remote add upstream https://github.com/freeCodeCamp/python-coding-challenges.git`
2. `git checkout master`
3. `git pull upstream`
Loading