Skip to content

Commit 0d51cb5

Browse files
authored
Merge pull request #4 from matusf/fix-links
Fix broken links
2 parents 1204e2f + 8d3bb05 commit 0d51cb5

File tree

16 files changed

+28
-28
lines changed

16 files changed

+28
-28
lines changed

Exercises/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ This course requires the use of Python 3.6 or newer. If you are
1313
using Python 2, most of the material still applies, but you will
1414
have to make minor code modifications here and there.
1515

16-
- link:PythonMastery.pdf[`PythonMastery.pdf`] is a PDF that contains
16+
- [`PythonMastery.pdf`](../PythonMastery.pdf) is a PDF that contains
1717
all of the presentation slides.
1818

19-
- The link:Exercises/index.html[`Exercises/`] folder is where you
19+
- The [`Exercises/`](index.md) folder is where you
2020
find all the class exercises.
2121

22-
- The `Data/` folder is where you find data files, scripts, and
22+
- The [`Data/`](../Data/) folder is where you find data files, scripts, and
2323
other files used by the exercises.
2424

25-
- The `Solutions/` folder contains complete solution code for
25+
- The [`Solutions/`](../Solutions/) folder contains complete solution code for
2626
various exercises. Each problem has its own directory. For example,
27-
the solution to exercise 3.2 can be found in the `Solution/3_2/` directory.
27+
the solution to exercise 3.2 can be found in the [`Solutions/3_2/`](../Solutions/3_2/) directory.
2828

2929
Every attempt has been made to make sure exercises work. However, it's
3030
possible that you will find typos or minor mistakes. If you find any

Exercises/ex2_3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ you do need to make sure you don't go overboard with the syntax.
310310

311311
## (f) Saving a lot of memory
312312

313-
In link:ex2_1.html[Exercise 2.1] you wrote a function
313+
In [Exercise 2.1](ex2_1.md) you wrote a function
314314
`read_rides_as_dicts()` that read the CTA bus data into a list of
315315
dictionaries. Using it requires a lot of memory. For example,
316316
let's find the day on which the route 22 bus had the greatest

Exercises/ex3_1.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
*Files Modified:* `stock.py`
1010

11-
In link:ex1_5.html[Exercise 1.5], you defined a simple class
11+
In [Exercise 1.5](ex1_5.md), you defined a simple class
1212
`Stock` for representing a holding of stock. In this exercise,
1313
we're simply going to add a few features to that class as well as
1414
write some utility functions.
@@ -49,7 +49,7 @@ reads a file of portfolio data into a list of `Stock` objects. Here's how it sho
4949
```
5050

5151
You already wrote a similar function as part of
52-
link:ex2_3.html[Exercise 2.3]. Design discussion: Should
52+
[Exercise 2.3](ex2_3.md). Design discussion: Should
5353
`read_portfolio()` be a separate function or part of the class
5454
definition?
5555

Exercises/ex3_2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ price 490.1
6666

6767
## (c) Table Output
6868

69-
In link:ex3_1.html[Exercise 3.1], you wrote a function `print_portfolio()`
69+
In [Exercise 3.1](ex3_1.md), you wrote a function `print_portfolio()`
7070
that made a nicely formatted table. That function was custom tailored
7171
to a list of `Stock` objects. However, it can be completely generalized
7272
to work with any list of objects using the technique in part (b).

Exercises/ex3_5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ CSV, and HTML.
1313

1414
One major use of classes in Python is in writing code that be
1515
extended/adapted in various ways. To illustrate, in
16-
link:ex3_2.html[Exercise 3.2] you created a function `print_table()`
16+
[Exercise 3.2](ex3_2.md) you created a function `print_table()`
1717
that made tables. You used this to make output from the `portfolio`
1818
list. For example:
1919

Exercises/ex3_6.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Make this change and try comparing two objects again.
9898

9999
## (c) A Context Manager
100100

101-
In link:ex3_5.html[Exercise 3.5], you made it possible for users to make
101+
In [Exercise 3.5](ex3_5.md), you made it possible for users to make
102102
nicely formatted tables. For example:
103103

104104
```python

Exercises/ex3_7.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
*Files Modified:* `tableformat.py`
1111

12-
In link:ex3_5.html[Exercise 3.5], we modified the `tableformat.py` file to have a `TableFormatter`
12+
In [Exercise 3.5](ex3_5.md), we modified the `tableformat.py` file to have a `TableFormatter`
1313
class and to use various subclasses for different output formats. In this exercise, we extend that
1414
code a bit more.
1515

Exercises/ex3_8.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
## (a) The Trouble with Column Formatting
1212

13-
If you go all the way back to link:ex3_1.txt[Exercise 3.1], you
13+
If you go all the way back to [Exercise 3.1](ex3_1.md), you
1414
wrote a function `print_portfolio()` that produced a table like this:
1515

1616
```python
@@ -204,7 +204,7 @@ different ways.
204204
Using mixins can be a useful tool for framework builders for reducing
205205
the amount of code that needs to be written. However, forcing users
206206
to remember how to properly compose classes and use multiple inheritance can
207-
fry their brains. In link:ex3_5.html[Exercise 3.5], you wrote a
207+
fry their brains. In [Exercise 3.5](ex3_5.md), you wrote a
208208
function `create_formatter()` that made it easier to create a custom
209209
formatter. Take that function and extend it to understand a few optional
210210
arguments related to the mixin classes. For example:

Exercises/ex4_2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ the end of the MRO since it is the parent to all of the classes being composed t
123123

124124
## (b) Build a Value Checker
125125

126-
In link:ex3_4.html[Exercise 3.4], you added some properties to the `Stock` class that
126+
In [Exercise 3.4](ex3_4.md), you added some properties to the `Stock` class that
127127
checked attributes for different types and values (e.g., shares had to be a positive
128128
integer). Let's play with that idea a bit. Start by creating a file `validate.py` and
129129
defining the following base class:

Exercises/ex6_1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ sane way. Before doing anything, copy your work in `stock.py` to a new file
1616
`orig_stock.py`.
1717

1818
We're going to recreate the `Stock` class from scratch using some new techniques.
19-
Make sure you have your unit tests from link:ex5_4.html[Exercise 5.4] handy. You'll want those.
19+
Make sure you have your unit tests from [Exercise 5.4](ex5_4.md) handy. You'll want those.
2020

2121
If you define a function, you probably already know that it can be
2222
called using a mix of positional or keyword arguments. For example:

0 commit comments

Comments
 (0)