Skip to content

Commit

Permalink
style improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Kristian Rother committed Jan 3, 2024
1 parent ce91f2d commit 94ba658
Show file tree
Hide file tree
Showing 35 changed files with 465 additions and 556 deletions.
122 changes: 0 additions & 122 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,128 +11,6 @@ Pick an exercise and start programming!

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

----

## First Steps

| Chapter | Difficulty |
|-----------|---------------|
| [Installing Python](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/installing_python.rst) ||
| [Python as a calculator](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/python_shell.rst) ||
| [Hello World](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/hello.rst) ||
| [Ada Lovelace](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/type_conversions.rst) ||
| [Rock-Paper-Scissors](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/rock_paper_scissors.rst) ||
| [Square Numbers](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/for.rst) ||
| [Slideshow](https://github.com/krother/Python3_Basics_Tutorial/blob/master/first_steps/slideshow.rst) ||

----

## Data Structures

| Chapter | Difficulty |
|-----------|---------------|
| [Strings](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/strings.md) ||
| [Lists](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/lists.md) ||
| [Dictionaries](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/dictionaries.md) | ⭐⭐ |
| [Nested Lists](https://github.com/krother/Python3_Basics_Tutorial/blob/master/data_structures/tables.md) | ⭐⭐ |
| [Data Types Overview](https://github.com/krother/Python3_Basics_Tutorial/blob/master/reference/data_types.rst) ||

----

## Tabular Data

| Challenge | Difficulty |
|-----------|---------------|
| [Reading a text file](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/readfile.md) ||
| [Extracting data from text](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/parsing.md) ||
| [Writing files](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/writing_files.md) ||
| [Create a Time Series](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/time_series.md) ||
| [Working with directories](https://github.com/krother/Python3_Basics_Tutorial/blob/master/tabular_data/os.md) ||

----

## Program Structures

| Chapter | Difficulty |
|-----------|---------------|
| [Conditional Loops](https://github.com/krother/Python3_Basics_Tutorial/blob/master/reference/while.rst) ||
| [Writing your own Functions](https://github.com/krother/Python3_Basics_Tutorial/blob/master/structure/functions.md) | ⭐⭐ |
| [Shortcuts](https://github.com/krother/Python3_Basics_Tutorial/blob/master/structure/builtin_functions.md) | ⭐⭐ |


----

# Challenges

| Challenge | Difficulty |
|-----------|---------------|
| [Christmas Tree](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/ctree.md) ||
| [Pyramid](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/pyramid.md) ||
| [Fizz-Buzz-Test](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/fizzbuzz.md) ||
| [Tic-Tac-Toe](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/tictac.md) | ⭐⭐ |
| [Checkerboard](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/checker.md) | ⭐⭐ |

## Text processing

| Challenge | Difficulty |
|-----------|---------------|
| [Palindrome](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/palindrome.md) | ⭐⭐ |
| [Anagrams](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/anagrams.md) | ⭐⭐ |
| [Roman Numbers](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/roman.md) | ⭐⭐⭐ |
| [Encryption](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/encrypt.md) | ⭐⭐⭐ |
| [Minesweeper](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/minesweeper.md) | ⭐⭐⭐ |

## Math Problems

| Challenge | Difficulty |
|-----------|---------------|
| [Factorials](challenges/factorials.md) ||
| [Common Divisor](challenges/ggt.md) ||
| [Fibonacci](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/fibonacci.md) | ⭐⭐ |
| [Multiplicative Digital Root](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/querprodukt.md) | ⭐⭐ |
| [Birthday Problem](https://github.com/krother/Python3_Basics_Tutorial/blob/master/challenges/birthdays.md) | ⭐⭐ |

## Algorithms

| Challenge | Difficulty |
|-----------|---------------|
| [Binary Search](algorithms/binary_search.md) ||
| [Sorting Algorithms](algorithms/sorting.md) ||
| [Chained List](algorithms/chained_list.md) | ⭐⭐ |
| [Josephus' Problem](algorithms/josephus.md) | ⭐⭐ |
| [Tree Traversal](algorithms/tree_traversal.md) | ⭐⭐ |
| [Graph Traversal](algorithms/graph_traversal.md) | ⭐⭐⭐ |
| [Magic Square](algorithms/magic_square.md) | ⭐⭐⭐ |
| [Traveling Salesman](algorithms/tsp.md) | ⭐⭐⭐ |
| [Backpack Problem](algorithms/backpack_problem.md) | ⭐⭐⭐⭐ |
| [Blockchain](algorithms/blockchain.md) | ⭐⭐⭐⭐ |

## Web Development

| Challenge | Difficulty |
|-----------|---------------|
| [Ping Pong](web/pingpong.md) | ⭐⭐ |
| [Google Search](web/google.md) | ⭐⭐⭐ |
| [Download Web Pages](web/webrecherche.md) | ⭐⭐⭐ |

----

## More about Python

* [Recap Questions](recap.md)
* [Modules](structure/modules.md)
* [Introspection](structure/introspection.md)
* [Background information on Python 3](appendix/background_info.md)

----

## Appendix

* [Recommended books and websites](https://github.com/krother/Python3_Basics_Tutorial/blob/master/appendix/links.md)
* [Learning Goals](appendix/goals.md)

----


## License

Expand Down
28 changes: 0 additions & 28 deletions challenges/anagrams.md

This file was deleted.

35 changes: 35 additions & 0 deletions challenges/anagrams.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Anagrams
========

**🎯 Generate all anagrams of a word with 3-6 letters.**

For example, the string:

::

ROT

has the anagrams (permutations of characters):

::

TOR
ORT
TRO
RTO
OTR

Hints
-----

- Look up the function ``itertools.permutations()``.
- You may need an expression like ``''.join(["T", "O", "R"])``

Extra challenges
----------------

- Get yourself a word list. Find anagrams that are real words.
- Implement the algorithm to generate the anagrams yourself. Get
informed about **dynamic programming**.

*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__
14 changes: 0 additions & 14 deletions challenges/baby_name_generator.md

This file was deleted.

18 changes: 18 additions & 0 deletions challenges/baby_name_generator.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Baby Name Generator
===================

**🎯 Write a baby name generator for undecided parents.**

Use the function ``random.choice()`` from the `random
module <https://docs.python.org/3/library/random.html#module-random>`__.

Extra Challenges:
-----------------

- The program randomly outputs a name from a predefined list.
- The program randomly outputs a name from the `US civil
register <http://www.ssa.gov/oact/babynames/limits.html>`__
- The user can select either a boy’s or girl’s name
- The programme makes 10 proposals

*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__
20 changes: 0 additions & 20 deletions challenges/birthdays.md

This file was deleted.

24 changes: 24 additions & 0 deletions challenges/birthdays.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Birthday Problem
================

**🎯 Calculate probabilities**

You’re attending a party with N guests.
Calculate how likely it is that at least two of them will have a birthday on the same day.

Hints
-----

- there are at least two people at the party
- assume that birthdays occur on all days of the year with the same probability.
- ignore leap years

Questions
---------

- How many people have to be there for a >50% or >90% chance?
- What is the probability that there are two or more pairs?
- consider when the assumption that all days have the same probability
makes sense

*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__
21 changes: 0 additions & 21 deletions challenges/checker.md

This file was deleted.

23 changes: 23 additions & 0 deletions challenges/checker.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Checkerboard
============

**🎯 Write a program that outputs a chess board with 8 \* 8 squares:**

::

#_#_#_#_
_#_#_#_#
#_#_#_#_
_#_#_#_#
#_#_#_#_
_#_#_#_#
#_#_#_#_

Extra Challenges
----------------

- use a single ``print()`` statement
- the characters ``#`` and ``_`` occur only once in the program
- do not use the assignment operator ``=``

*Translated with* `www.DeepL.com <https://www.DeepL.com/Translator>`__
11 changes: 0 additions & 11 deletions challenges/ctree.md

This file was deleted.

13 changes: 13 additions & 0 deletions challenges/ctree.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Christmas Tree
==============

**🎯 Write a program that outputs the following image:**

::

*
***
*****
*******
*********
***********
44 changes: 0 additions & 44 deletions challenges/encrypt.md

This file was deleted.

Loading

0 comments on commit 94ba658

Please sign in to comment.