Python Herhalingsopdracht


Home 4BSW1 4BSW2 4MTLAT/4LAT 4MWW1 4MWW2 4NWE2 5BWE 5EWI/5LWI/5WWI1 5WWI2 About

Beste leerlingen,

omwille van de lesroosteraanpassing en jullie “survival kit” gaat de les Informaticawetenschappen op 13/10 niet door.

Beneden een taak, voornamelijk herhaling en een klein beetje nieuw terrain (bibliotheek “numpy” gebruiken).

U vind uw werkbestand hier: https://mielke.ws/20231013_5elwwi_herhaling.py

UPDATE 14/10/2023: sommige leerlingen hebben er problemen met het downloaden van python-bestanden. Hieronder vind u de tekst nog eens, om het naar “sublime” te kopiĆ«ren.

Verdere instructies in het werkbestand. Als er iets niet duidelijk is, aarzel niet om me (op tijd) via smartschool te contakteren!

Met vriendelijke groeten,

Falk Mielke

vorige les \(\quad\) volgende les




#!/usr/bin/env python3

"""
Welkom!
Deze bestand is uw taak, op te lossen tem. 15/10/2023.

- Sla het ineens op als nieuwe bestand met uw eigen naam, bv. "5EWI_herhaling_LeeRLing.py"!
- Bewerk de opdrachten beneden door programmacode tussen de comments te zetten!
- U mag in groepen werken en elkaar helpen, maar iedereen moet zijn eigen bestand uploaden.
- U mag online-hulp, deze website, of boeken gebruiken, maar zet uw bron er als commentaar bij.

Upload uw resultaat via de uploadzone in smartschool, vak "<uw klas> Informaticawetenschappen"!
Als er iets niet duidelijk is, aarzel niet om me (op tijd) via smartschool te contakteren!

Met vriendelijke groeten,


Falk Mielke

"""

#________________________________________________________________________________
# (0) Informatie
#________________________________________________________________________________
"""
Vul hier de info over u zelf aan.
"""
__author__ = "<uw naam>"
__klas__ = "<uw klas>"
__groep__ = "<Vermeld hier als u met iemand samen gewerkt hebt.>"
__hulpmiddelen__ = """<Schrijf hier, indien van toepassing, welke andere hulpmiddelen u gebruikt hebt.>"""

#________________________________________________________________________________
# (1) Strings
#________________________________________________________________________________
"""
Bron: https://rosalind.info/problems/dna

Schrijf een programma dat optelt hoeveel van welke letter in een zin zitten!
U wilt uiteindelijk het aantal letters
  - zonder symbolen
  - hoofdletterongevoelig
tellen.

Volg de stappen beneden!
Het volgende symbool duidt aan dat uw code verwacht is:
    # >>>

Moest u één stap niet kunnen oplossen, ga toch verder na de volgende en laat er gecommenteerd staan wat u geprobeerd heeft.
(Bv. is het oké als er symbolen mee tellen.)


+ Voorbeeld-Dataset:
: AGC.TTTTC#ATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATT-AAAAA$AAGAGTGTCTGATAGCAGC

+ Voorbeeld-Output:
{'a': 20, 'b': 12, 'c': 17, 'd': 21}

(noot: het voorbeeld is voor DNA, maar wij gaan alle letters gebruiken.)

Success!

"""

# een test string
sample_data = "Pa's wijze lynx bezag vroom het fikse aquaduct."

# (a) Maak er een {set} aan van de "string", met alle letters in de "sample_data".
# >>>


# (b) Itereer met een 'loop' over de sample_data, en tel de letters op! (bv. met een "dict")
# >>>


# (c) Tel alleen maar letters van "a" tot "z" (gebruik een "conditional" in uw loop).
#     (help hier: https://towardsdatascience.com/python-ord-and-chr-functions-explained-dcb39944c480 )
# >>>


# (d): Maak het programma hoofdletterongevoelig!
#      (zie bv. hier: https://thehelloworldprogram.com/python/python-string-methods/ )
# >>>


# (e) print het resultaat af!
#     bv. `print(count)`
# >>>


#________________________________________________________________________________
# (2) Functies Plotten
#________________________________________________________________________________
"""
Wij leren hierin functies en formules van de bibliotheek "numpy" te gebruiken.

"""
# (a) Installeer de bibliotheken "numpy" en "matplotlib", bv. met "pip".
#     U kan een video hier terug vinden: https://mielke.ws/vid/install_sympy.webm
#     Schrijf voor toepassing `numpy` ipv. `sympy`, dus: `pip install numpy matplotlib`
#     Importeer de bibliotheek hieronder met `import`!
# >>>


# (b) Lees eventjes de documentatie over Numpy Arrays.
#     https://numpy.org/doc/stable/reference/generated/numpy.array.html
#     Bekijk vooral ook de voorbeelden ("examples") helemaal van onder.

# (c) Gebruik "numpy.linspace" om een array `x` aan te maken die in 100 stappen van -2 tot 2 telt.
#     https://numpy.org/doc/stable/reference/generated/numpy.linspace.html
#     Dit geeft u een specifieke numpy array, die we beneden als "x-as" gebruiken.
# >>>


# (d) Bereken er de volgende functies:
#     functie_d1: y = -x² + 0.2x + 5
#     functie_d2: y = exp(x)  (exponentiële functie, zoek in de numpy documentatie)
#     noot: de exponent x² schrijf je in python als `x**2`
# >>>


# (e) Pas, indien nodig, de volgende code toe om uw functies te plotten:
try:
    import matplotlib.pyplot as plt
    plt.plot(x, functie_d1)
    plt.plot(x, functie_d2)
    plt.show()
except Exception:
    pass
#     U zou normaal gezien een afbeelding met de functies zien.

#________________________________________________________________________________
# end of file. Bedankt voor uw inzet!

Date: 2023-10-13 Fri 00:00

Author: Falk Mielke