Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 6011874

Browse files
committed
Add more questions
1 parent ae06284 commit 6011874

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

hemuppgifter/december_exercises.md

+28-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Repetitionsövningar december 2019
22

33
### Torsdag 5 december
4+
45
1. Gör ett program som skriver ut ett tal i taget från 0, 1, 2 och så vidare, **med en sekunds mellanrum**:
56

67
Output:
@@ -53,11 +54,13 @@ contains(cities, "Madrid") # Returnerar False
5354
```
5455

5556
### Måndag 9 december
57+
5658
9. Definiera funktionen `divisble_by` som tar två heltal som argument och returnerar en boolean. Den ska returnera `True` om det första talet är delbart med det andra, annars `False`.
5759

5860
10. Definiera funktionen `randomlist` som tar ett heltal som argument och som returnerar en lista med slumptal 0-100 som är lika lång som argumentet anger. Alltså `randomlist(5)` skulle t.ex. kunna returnera `[44, 15, 85, 31, 19]`
5961

6062
### Torsdag 12 december
63+
6164
11. Ta reda på hur man använder metoderna `split` och `join` på strängar i Python. Använd internet för att söka reda på svaret och labba själv tills du känner att du har koll.
6265

6366
12. Använd funktionen `divisible_by` från fråga 9 för att skriva ut alla tal mellan 1 och 1000 som är delbara med 7 men inte delbara med 2.
@@ -66,7 +69,7 @@ contains(cities, "Madrid") # Returnerar False
6669

6770
14. Definiera funktionen `has_equal_ends` som tar en lista som argument och returnerar `True` ifall första och sista elementet är lika, annars `False`.
6871

69-
15. Definiera en funktion `is_palindrom` som tar en sträng som argument och returnerar `True` om strängen är ett palindrom, dvs. om det är samma sak baklänges (t.ex. "anna"). Annars returnera `False`
72+
15. Definiera funktionen `is_palindrom` som tar en sträng som argument och returnerar `True` om strängen är ett palindrom, dvs. om det är samma sak baklänges (t.ex. "anna"). Annars returnera `False`
7073

7174
16. Skriv ett program `lotto.py` som är ett lottospel. Programmet ska ge en lottorad till användaren på 7 tal. Använd `randomlist` från fråga 10. Slumpa sedan ett tal mellan 1-100 och berätta för användaren om den vann.
7275

@@ -77,3 +80,27 @@ contains(cities, "Madrid") # Returnerar False
7780
19. Skriv ett program `clock.py` som skriver ut vad klockan är och uppdateras varje sekund.
7881

7982
20. Ta reda på vad funktionerna `ord` och `chr` gör för något. Använd internet för att söka reda på svaret och labba själv tills du känner att du har koll.
83+
84+
### Måndag 16 december
85+
86+
21. Skapa filen `encryption.py`. Använd det du lärt dig i fråga 20 om `ord` och `char` för att definiera en superenkel krypteringsfunktion `silly_encrypt`. Den ska ta en sträng och shifta alla bokstäver 1 steg framåt. A->B, B->C, C->D och så vidare. Ex. `silly_encrypt("abc")` ska returnera `bcd`
87+
88+
22. Skapa filen `journal.py`. Definiera funktionen `save_journal_entry` som tar ett dagboksinlägg som argument och sparar det till filen `my_journal.txt`. Varje gång du kör funktionen ska det läggas till sist i filen (istället för att filen skrivs över). Du behöver googla runt för att ta reda på hur man gör.
89+
90+
23. Utöka `silly_encrypt` så att den även tar ett argument `shift`, som anger hur många bokstäver som ska skiftas. T.ex `silly_encrypt("abc", 2)` ska returnera `cde`. Definiera även `silly_decrypt` som gör motsatsen, dvs tar ett krypterat meddelande och avkrypterar det.
91+
92+
24. Utöka `save_journal_entry` så att den även lägger till dagens datum och tid varje gång den körs.
93+
94+
25. I `journal.py`, definiera funktionen `add_journal_entry`. Den ska ställa några dagboksfrågor till användaren. Resultatet ska krypteras med hjälp av `silly_encrypt` (behöver importeras) och sparas med hjälp av `save_journal_entry`
95+
96+
26. I `journal.py` definiera funktionerna `load_journal_entries` och `print_journal`. `load_journal_entries` ska bara ladda in texten från `my_journal.txt` och returnera denna. `print_journal` ska anropa `load_journal_entries`, dekryptera innehållet och skriva ut det på skärmen.
97+
98+
27. I `journal.py`, definiera funktionen `show_menu` som låter användaren välja mellan att skriva nytt dagboksinlägg, visa dagboken eller avsluta programmet. Längst ner i filen, kalla på funktionen `show_menu` så att det blir ett körbart program.
99+
100+
28. Ta reda på vad som menas med `if __name__ == "__main__"` i Python. Använd internet för att söka reda på svaret och labba själv tills du känner att du har koll. Anpassa programmet `journal.py`
101+
102+
29. Flytta `journal.py` och `encryption.py` till en egen mapp och ett eget repo på Github.
103+
104+
30. Lägg till en fil `README.md` i `journal`-repot. Skriv lite kort vad det är för ett program. Använd markdown: https://markdown-guide.readthedocs.io/en/latest/basics.html
105+
106+
31. Påminn dig om hur man använder dictionaries. Använd internet och labba själv tills du känner att du har koll.

0 commit comments

Comments
 (0)