feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
This commit is contained in:
committed by
GitHub
parent
0095583028
commit
ee1e8abd87
@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f05b
|
||||
title: Build your own Functions
|
||||
challengeType: 11
|
||||
videoId: nLDychdBwUg
|
||||
dashedName: build-your-own-functions
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06d
|
||||
title: Comparing and Sorting Tuples
|
||||
challengeType: 11
|
||||
videoId: dZXzBXUxxCs
|
||||
dashedName: comparing-and-sorting-tuples
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f058
|
||||
title: Conditional Execution
|
||||
challengeType: 11
|
||||
videoId: gz_IfIsZQtc
|
||||
dashedName: conditional-execution
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f6a0b6c005b0e76f097
|
||||
title: 'Data Visualization: Mailing Lists'
|
||||
challengeType: 11
|
||||
videoId: RYdW660KkaQ
|
||||
dashedName: data-visualization-mailing-lists
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f6a0b6c005b0e76f096
|
||||
title: 'Data Visualization: Page Rank'
|
||||
challengeType: 11
|
||||
videoId: 6-w_qIUwaxU
|
||||
dashedName: data-visualization-page-rank
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0a0b6c005b0e76f069
|
||||
title: Dictionaries and Loops
|
||||
challengeType: 11
|
||||
videoId: EEmekKiKG70
|
||||
dashedName: dictionaries-and-loops
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f068
|
||||
title: 'Dictionaries: Common Applications'
|
||||
challengeType: 11
|
||||
videoId: f17xPfIXct0
|
||||
dashedName: dictionaries-common-applications
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f063
|
||||
title: Files as a Sequence
|
||||
challengeType: 11
|
||||
videoId: cIA0EokbaHE
|
||||
dashedName: files-as-a-sequence
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f057
|
||||
title: Intermediate Expressions
|
||||
challengeType: 11
|
||||
videoId: dKgUaIa5ATg
|
||||
dashedName: intermediate-expressions
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f061
|
||||
title: Intermediate Strings
|
||||
challengeType: 11
|
||||
videoId: KgT_fYLXnyk
|
||||
dashedName: intermediate-strings
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e6a54c358d3af90110a60a3
|
||||
title: 'Introduction: Elements of Python'
|
||||
challengeType: 11
|
||||
videoId: aRY_xjL35v0
|
||||
dashedName: introduction-elements-of-python
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e6a54af58d3af90110a60a1
|
||||
title: 'Introduction: Hardware Architecture'
|
||||
challengeType: 11
|
||||
videoId: H6qtjRTfSog
|
||||
dashedName: introduction-hardware-architecture
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e6a54ba58d3af90110a60a2
|
||||
title: 'Introduction: Python as a Language'
|
||||
challengeType: 11
|
||||
videoId: 0QeGbZNS_bY
|
||||
dashedName: introduction-python-as-a-language
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e6a54a558d3af90110a60a0
|
||||
title: 'Introduction: Why Program?'
|
||||
challengeType: 11
|
||||
videoId: 3muQV-Im3Z0
|
||||
dashedName: introduction-why-program
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05d
|
||||
title: 'Iterations: Definite Loops'
|
||||
challengeType: 11
|
||||
videoId: hiRTRAqNlpE
|
||||
dashedName: iterations-definite-loops
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05e
|
||||
title: 'Iterations: Loop Idioms'
|
||||
challengeType: 11
|
||||
videoId: AelGAcoMXbI
|
||||
dashedName: iterations-loop-idioms
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05f
|
||||
title: 'Iterations: More Patterns'
|
||||
challengeType: 11
|
||||
videoId: 9Wtqo6vha1M
|
||||
dashedName: iterations-more-patterns
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f05c
|
||||
title: Loops and Iterations
|
||||
challengeType: 11
|
||||
videoId: dLA-szNRnUY
|
||||
dashedName: loops-and-iterations
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f08b
|
||||
title: Make a Relational Database
|
||||
challengeType: 11
|
||||
videoId: MQ5z4bdF92U
|
||||
dashedName: make-a-relational-database
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f059
|
||||
title: More Conditional Structures
|
||||
challengeType: 11
|
||||
videoId: HdL82tAZR20
|
||||
dashedName: more-conditional-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f072
|
||||
title: Networking Protocol
|
||||
challengeType: 11
|
||||
videoId: c6vZGescaSc
|
||||
dashedName: networking-protocol
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f074
|
||||
title: 'Networking: Text Processing'
|
||||
challengeType: 11
|
||||
videoId: Pv_pJgVu8WI
|
||||
dashedName: networking-text-processing
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0d0b6c005b0e76f075
|
||||
title: 'Networking: Using urllib in Python'
|
||||
challengeType: 11
|
||||
videoId: 7lFM1T_CxBs
|
||||
dashedName: networking-using-urllib-in-python
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0d0b6c005b0e76f076
|
||||
title: 'Networking: Web Scraping with Python'
|
||||
challengeType: 11
|
||||
videoId: Uyioq2q4cEg
|
||||
dashedName: networking-web-scraping-with-python
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f071
|
||||
title: Networking with Python
|
||||
challengeType: 11
|
||||
videoId: _kJvneKVdNM
|
||||
dashedName: networking-with-python
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f073
|
||||
title: 'Networking: Write a Web Browser'
|
||||
challengeType: 11
|
||||
videoId: zjyT9DaAjx4
|
||||
dashedName: networking-write-a-web-browser
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f087
|
||||
title: Object Lifecycle
|
||||
challengeType: 11
|
||||
videoId: p1r3h_AMMIM
|
||||
dashedName: object-lifecycle
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f160b6c005b0e76f086
|
||||
title: 'Objects: A Sample Class'
|
||||
challengeType: 11
|
||||
videoId: FiABKEuaSJ8
|
||||
dashedName: objects-a-sample-class
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f088
|
||||
title: 'Objects: Inheritance'
|
||||
challengeType: 11
|
||||
videoId: FBL3alYrxRM
|
||||
dashedName: objects-inheritance
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f067
|
||||
title: Python Dictionaries
|
||||
challengeType: 11
|
||||
videoId: dnzvfimrRMg
|
||||
dashedName: python-dictionaries
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f05a
|
||||
title: Python Functions
|
||||
challengeType: 11
|
||||
videoId: 3JGF-n3tDPU
|
||||
dashedName: python-functions
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f064
|
||||
title: Python Lists
|
||||
challengeType: 11
|
||||
videoId: Y0cvfDpYC_c
|
||||
dashedName: python-lists
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f160b6c005b0e76f085
|
||||
title: Python Objects
|
||||
challengeType: 11
|
||||
videoId: uJxGeTYy0us
|
||||
dashedName: python-objects
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f062
|
||||
title: Reading Files
|
||||
challengeType: 11
|
||||
videoId: Fo1tW09KIwo
|
||||
dashedName: reading-files
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06f
|
||||
title: 'Regular Expressions: Matching and Extracting Data'
|
||||
challengeType: 11
|
||||
videoId: LaCZnTbQGkE
|
||||
dashedName: regular-expressions-matching-and-extracting-data
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f070
|
||||
title: 'Regular Expressions: Practical Applications'
|
||||
challengeType: 11
|
||||
videoId: xCjFU9G6x48
|
||||
dashedName: regular-expressions-practical-applications
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06e
|
||||
title: Regular Expressions
|
||||
challengeType: 11
|
||||
videoId: Yud_COr6pZo
|
||||
dashedName: regular-expressions
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08c
|
||||
title: Relational Database Design
|
||||
challengeType: 11
|
||||
videoId: AqdfbrpkbHk
|
||||
dashedName: relational-database-design
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f08a
|
||||
title: Relational Databases and SQLite
|
||||
challengeType: 11
|
||||
videoId: QlNod5-kFpA
|
||||
dashedName: relational-databases-and-sqlite
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08f
|
||||
title: 'Relational Databases: Join Operation'
|
||||
challengeType: 11
|
||||
videoId: jvDw3D9GKac
|
||||
dashedName: relational-databases-join-operation
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f190b6c005b0e76f090
|
||||
title: 'Relational Databases: Many-to-many Relationships'
|
||||
challengeType: 11
|
||||
videoId: z-SBYcvEQOc
|
||||
dashedName: relational-databases-many-to-many-relationships
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08e
|
||||
title: 'Relational Databases: Relationship Building'
|
||||
challengeType: 11
|
||||
videoId: CSbqczsHVnc
|
||||
dashedName: relational-databases-relationship-building
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08d
|
||||
title: Representing Relationships in a Relational Database
|
||||
challengeType: 11
|
||||
videoId: '-orenCNdC2Q'
|
||||
dashedName: representing-relationships-in-a-relational-database
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f066
|
||||
title: Strings and Lists
|
||||
challengeType: 11
|
||||
videoId: lxcFa7ldCi0
|
||||
dashedName: strings-and-lists
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f060
|
||||
title: Strings in Python
|
||||
challengeType: 11
|
||||
videoId: LYZj207fKpQ
|
||||
dashedName: strings-in-python
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0a0b6c005b0e76f06c
|
||||
title: The Tuples Collection
|
||||
challengeType: 11
|
||||
videoId: 3Lxpladfh2k
|
||||
dashedName: the-tuples-collection
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07a
|
||||
title: Using Web Services
|
||||
challengeType: 11
|
||||
videoId: oNl1OVDPGKE
|
||||
dashedName: using-web-services
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f056
|
||||
title: 'Variables, Expressions, and Statements'
|
||||
challengeType: 11
|
||||
videoId: nELR-uyyrok
|
||||
dashedName: variables-expressions-and-statements
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f690b6c005b0e76f095
|
||||
title: Visualizing Data with Python
|
||||
challengeType: 11
|
||||
videoId: e3lydkH0prw
|
||||
dashedName: visualizing-data-with-python
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f150b6c005b0e76f080
|
||||
title: 'Web Services: API Rate Limiting and Security'
|
||||
challengeType: 11
|
||||
videoId: pI-g0lI8ngs
|
||||
dashedName: web-services-api-rate-limiting-and-security
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f150b6c005b0e76f07f
|
||||
title: 'Web Services: APIs'
|
||||
challengeType: 11
|
||||
videoId: oUNn1psfBJg
|
||||
dashedName: web-services-apis
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f140b6c005b0e76f07d
|
||||
title: 'Web Services: JSON'
|
||||
challengeType: 11
|
||||
videoId: ZJE-U56BppM
|
||||
dashedName: web-services-json
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f140b6c005b0e76f07e
|
||||
title: 'Web Services: Service Oriented Approach'
|
||||
challengeType: 11
|
||||
videoId: muerlsCHExI
|
||||
dashedName: web-services-service-oriented-approach
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07c
|
||||
title: 'Web Services: XML Schema'
|
||||
challengeType: 11
|
||||
videoId: yWU9kTxW-nc
|
||||
dashedName: web-services-xml-schema
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07b
|
||||
title: 'Web Services: XML'
|
||||
challengeType: 11
|
||||
videoId: _pZ0srbg7So
|
||||
dashedName: web-services-xml
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f065
|
||||
title: Working with Lists
|
||||
challengeType: 11
|
||||
videoId: lCnHfTHkhbE
|
||||
dashedName: working-with-lists
|
||||
---
|
||||
|
||||
# --question--
|
||||
|
@ -2,6 +2,7 @@
|
||||
id: 5e44412c903586ffb414c94c
|
||||
title: Arithmetic Formatter
|
||||
challengeType: 10
|
||||
dashedName: arithmetic-formatter
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -31,8 +32,6 @@ It should correctly format an arithmetic problem and pass all tests.
|
||||
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
|
@ -2,6 +2,7 @@
|
||||
id: 5e44413e903586ffb414c94e
|
||||
title: Budget App
|
||||
challengeType: 10
|
||||
dashedName: budget-app
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -31,8 +32,6 @@ It should create a Category class and pass all tests.
|
||||
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
|
@ -2,6 +2,7 @@
|
||||
id: 5e444147903586ffb414c94f
|
||||
title: Polygon Area Calculator
|
||||
challengeType: 10
|
||||
dashedName: polygon-area-calculator
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -31,8 +32,6 @@ It should create a Rectangle class and Square class and pass all tests.
|
||||
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
|
@ -2,6 +2,7 @@
|
||||
id: 5e44414f903586ffb414c950
|
||||
title: Probability Calculator
|
||||
challengeType: 10
|
||||
dashedName: probability-calculator
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -29,8 +30,6 @@ It should correctly calculate probabilities and pass all tests.
|
||||
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
|
@ -2,6 +2,7 @@
|
||||
id: 5e444136903586ffb414c94d
|
||||
title: Time Calculator
|
||||
challengeType: 10
|
||||
dashedName: time-calculator
|
||||
---
|
||||
|
||||
# --description--
|
||||
@ -29,8 +30,6 @@ It should correctly add times and pass all tests.
|
||||
|
||||
```
|
||||
|
||||
# --seed--
|
||||
|
||||
# --solutions--
|
||||
|
||||
```js
|
||||
|
Reference in New Issue
Block a user