Programowanie w Pythonie(12): Projekt

W tym projekcie spróbujemy zająć się stworzeniem prostego dziennika elektronicznego. Klasa, którą będzie musiał obsługiwać będzie mała, bo tylko trzyosobowa. Tworząc dziennik przypomnimy sobie pracę z funkcjami, listami, słownikami – czyli generalnie wszystkim, co do tej pory poznaliśmy. Do dzieła!

Dane

Mamy dane trzy słowniki reprezentujące uczniów naszej klasy:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
asia = {imie : "Joanna",
zadania: [45.0, 78.0],
kartkowki: [30.0, 90.0],
sprawdziany: [20.0, 55.0]}

kasia = {imie : "Katarzyna",
zadania: [95.0, 85.0],
kartkowki: [65.0, 90.0],
sprawdziany: [25.0, 65.0]}

basia = {imie : "Barbara",
zadania: [35.0, 100.0],
kartkowki: [100.0, 90.0],
sprawdziany: [20.0, 95.0]}

ToDo

  1. Napisz funkcję srednia, która będzie obliczała średnią liczb wypisanych w liście. Docelowo chcemy, by dało się łatwo obliczyć np. średnią ocen ze sprawdzianów Joanny, wpisując polecenie:
    srednia(asia[sprawdziany]).
  2. Napisz funkcję  wazona, która obliczy średnią ważoną ocen zdobytych przez danego ucznia. Oceny z zadań powinny być z wagą  0.1, z kartkówek z wagą  0.25, a ze sprawdzianów z wagą  0.65. Funkcję powinno dać się wywołać poleceniem  wazona(asia).
  3. Stwórz funkcję  ocena, która na podstawie wyniku (liczby od 0 do 100) zwróci adekwatną ocenę. Jeśli wynik będzie większy lub równy 90: BDB, większy niż 70: DB, większy niż 50: DST, większy niż 30: DOP, a w przeciwnym wypadku: NDST.
  4. Stwórz funkcję  srednia_klasy, która będzie zwracała w postaci liczby średni punktowy wynik klasy. Wydrukuj go na ekran.
  5. Zwróć na ekran ocenę dla całej klasy za jej wynik.

Nauczyciel matematyki i przedmiotów informatycznych w Dwujęzycznych Szkołach im. Władysława Kopalińskiego w Bielsku-Białej. Autor wielu publikacji poświęconych nauce podstaw programowania, w tym „Scratch. Nauka programowania przez zabawę”, wydanej drukiem przez wydawnictwo Komputer Świat. Entuzjasta wykorzystywania nowych nowoczesnych narzędzi w czasie lekcji. Prywatnie miłośnik koszykówki i aktywnego wykorzystywania czasu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.