Skip to content

Commit 8004510

Browse files
author
Kristian Rother
committed
Merge branch 'master' of github.com:krother/Python3_Basics_Tutorial
2 parents 72ca312 + 831c327 commit 8004510

117 files changed

Lines changed: 3091 additions & 3607 deletions

File tree

Some content is hidden

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

README.md

Lines changed: 0 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -11,128 +11,6 @@ Pick an exercise and start programming!
1111

1212
There is a live site on [www.academis.eu/python_basics/](http://www.academis.eu/python_basics/)
1313

14-
----
15-
16-
## First Steps
17-
18-
| Chapter | Difficulty |
19-
|-----------|---------------|
20-
| [Installing Python](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/installing_python.rst) ||
21-
| [Python as a calculator](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/python_shell.rst) ||
22-
| [Hello World](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/hello.rst) ||
23-
| [Ada Lovelace](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/type_conversions.rst) ||
24-
| [Rock-Paper-Scissors](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/rock_paper_scissors.rst) ||
25-
| [Square Numbers](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/for.rst) ||
26-
| [Slideshow](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/slideshow.rst) ||
27-
28-
----
29-
30-
## Data Structures
31-
32-
| Chapter | Difficulty |
33-
|-----------|---------------|
34-
| [Strings](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/strings.md) ||
35-
| [Lists](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/lists.md) ||
36-
| [Dictionaries](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/dictionaries.md) | ⭐⭐ |
37-
| [Nested Lists](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/tables.md) | ⭐⭐ |
38-
| [Data Types Overview](https://github.com/krother/Python3_Basics_Tutorial/blob/master/reference/data_types.rst) ||
39-
40-
----
41-
42-
## Tabular Data
43-
44-
| Challenge | Difficulty |
45-
|-----------|---------------|
46-
| [Reading a text file](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/readfile.md) ||
47-
| [Extracting data from text](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/parsing.md) ||
48-
| [Writing files](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/writing_files.md) ||
49-
| [Create a Time Series](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/time_series.md) ||
50-
| [Working with directories](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/os.md) ||
51-
52-
----
53-
54-
## Program Structures
55-
56-
| Chapter | Difficulty |
57-
|-----------|---------------|
58-
| [Conditional Loops](https://github.com/krother/Python3_Basics_Tutorial/blob/master/reference/while.rst) ||
59-
| [Writing your own Functions](https://github.com/krother/Python3_Basics_Tutorial/blob/master/structure/functions.md) | ⭐⭐ |
60-
| [Shortcuts](https://github.com/krother/Python3_Basics_Tutorial/blob/master/structure/builtin_functions.md) | ⭐⭐ |
61-
62-
63-
----
64-
65-
# Challenges
66-
67-
| Challenge | Difficulty |
68-
|-----------|---------------|
69-
| [Christmas Tree](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/ctree.md) ||
70-
| [Pyramid](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/pyramid.md) ||
71-
| [Fizz-Buzz-Test](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/fizzbuzz.md) ||
72-
| [Tic-Tac-Toe](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/tictac.md) | ⭐⭐ |
73-
| [Checkerboard](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/checker.md) | ⭐⭐ |
74-
75-
## Text processing
76-
77-
| Challenge | Difficulty |
78-
|-----------|---------------|
79-
| [Palindrome](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/palindrome.md) | ⭐⭐ |
80-
| [Anagrams](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/anagrams.md) | ⭐⭐ |
81-
| [Roman Numbers](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/roman.md) | ⭐⭐⭐ |
82-
| [Encryption](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/encrypt.md) | ⭐⭐⭐ |
83-
| [Minesweeper](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/minesweeper.md) | ⭐⭐⭐ |
84-
85-
## Math Problems
86-
87-
| Challenge | Difficulty |
88-
|-----------|---------------|
89-
| [Factorials](challenges/factorials.md) ||
90-
| [Common Divisor](challenges/ggt.md) ||
91-
| [Fibonacci](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/fibonacci.md) | ⭐⭐ |
92-
| [Multiplicative Digital Root](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/querprodukt.md) | ⭐⭐ |
93-
| [Birthday Problem](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/birthdays.md) | ⭐⭐ |
94-
95-
## Algorithms
96-
97-
| Challenge | Difficulty |
98-
|-----------|---------------|
99-
| [Binary Search](algorithms/binary_search.md) ||
100-
| [Sorting Algorithms](algorithms/sorting.md) ||
101-
| [Chained List](algorithms/chained_list.md) | ⭐⭐ |
102-
| [Josephus' Problem](algorithms/josephus.md) | ⭐⭐ |
103-
| [Tree Traversal](algorithms/tree_traversal.md) | ⭐⭐ |
104-
| [Graph Traversal](algorithms/graph_traversal.md) | ⭐⭐⭐ |
105-
| [Magic Square](algorithms/magic_square.md) | ⭐⭐⭐ |
106-
| [Traveling Salesman](algorithms/tsp.md) | ⭐⭐⭐ |
107-
| [Backpack Problem](algorithms/backpack_problem.md) | ⭐⭐⭐⭐ |
108-
| [Blockchain](algorithms/blockchain.md) | ⭐⭐⭐⭐ |
109-
110-
## Web Development
111-
112-
| Challenge | Difficulty |
113-
|-----------|---------------|
114-
| [Ping Pong](web/pingpong.md) | ⭐⭐ |
115-
| [Google Search](web/google.md) | ⭐⭐⭐ |
116-
| [Download Web Pages](web/webrecherche.md) | ⭐⭐⭐ |
117-
118-
----
119-
120-
## More about Python
121-
122-
* [Recap Questions](recap.md)
123-
* [Modules](structure/modules.md)
124-
* [Introspection](structure/introspection.md)
125-
* [Background information on Python 3](appendix/background_info.md)
126-
127-
----
128-
129-
## Appendix
130-
131-
* [Recommended books and websites](https://github.com/krother/Python3_Basics_Tutorial/blob/master/appendix/links.md)
132-
* [Learning Goals](appendix/goals.md)
133-
134-
----
135-
13614

13715
## License
13816

challenges/anagrams.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

challenges/anagrams.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Anagrams
2+
========
3+
4+
**🎯 Generate all anagrams of a word with 3-6 letters.**
5+
6+
For example, the string:
7+
8+
::
9+
10+
ROT
11+
12+
has the anagrams (permutations of characters):
13+
14+
::
15+
16+
TOR
17+
ORT
18+
TRO
19+
RTO
20+
OTR
21+
22+
Hints
23+
-----
24+
25+
- Look up the function ``itertools.permutations()``.
26+
- You may need an expression like ``''.join(["T", "O", "R"])``
27+
28+
Extra challenges
29+
----------------
30+
31+
- Get yourself a word list. Find anagrams that are real words.
32+
- Implement the algorithm to generate the anagrams yourself. Get
33+
informed about **dynamic programming**.
34+
35+
*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__

challenges/baby_name_generator.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

challenges/baby_name_generator.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Baby Name Generator
2+
===================
3+
4+
**🎯 Write a baby name generator for undecided parents.**
5+
6+
Use the function ``random.choice()`` from the `random
7+
module <https://docs.python.org/3/library/random.html#module-random>`__.
8+
9+
Look up the documentation if necessary.
10+
11+
Extra Challenges:
12+
-----------------
13+
14+
- The program randomly outputs a name from a predefined list.
15+
- The program randomly outputs a name from the `US civil
16+
register <http://www.ssa.gov/oact/babynames/limits.html>`__
17+
- The user can select either a boy’s or girl’s name
18+
- The program creates 10 suggestions
19+
20+
*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__

challenges/birthdays.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

challenges/birthdays.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Birthday Problem
2+
================
3+
4+
**🎯 Calculate probabilities**
5+
6+
You’re attending a party with N guests.
7+
Calculate how likely it is that at least two of them will have a birthday on the same day.
8+
9+
Hints
10+
-----
11+
12+
- there are at least two people at the party
13+
- assume that birthdays occur on all days of the year with the same probability.
14+
- ignore leap years
15+
16+
Questions
17+
---------
18+
19+
- How many people have to be there for a >50% or >90% chance?
20+
- What is the probability that there are two or more pairs?
21+
- consider when the assumption that all days have the same probability
22+
makes sense
23+
24+
*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__

challenges/checker.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

challenges/checker.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Checkerboard
2+
============
3+
4+
**🎯 Write a program that outputs a chess board with 8 \* 8 squares:**
5+
6+
::
7+
8+
#_#_#_#_
9+
_#_#_#_#
10+
#_#_#_#_
11+
_#_#_#_#
12+
#_#_#_#_
13+
_#_#_#_#
14+
#_#_#_#_
15+
16+
Extra Challenges
17+
----------------
18+
19+
- use a single ``print()`` statement
20+
- the characters ``#`` and ``_`` occur only once in the program
21+
- do not use the assignment operator ``=``
22+
23+
*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__

0 commit comments

Comments
 (0)